Ruby on rails 手动管理SOE和多语言的Rails路由器

Ruby on rails 手动管理SOE和多语言的Rails路由器,ruby-on-rails,ruby-on-rails-3,uri,multilingual,rails-routing,Ruby On Rails,Ruby On Rails 3,Uri,Multilingual,Rails Routing,我是Rails的初学者,我已经准备好了所有这些,但我还有一些其他问题 我了解了基本Rails路由器的工作原理(基于控制器名称): 但我想做一些修改: 1/SOE 我需要更新用户检索的路由(show,update,…),我想在URI上使用@user[:username],而不是@user[:id] 所以在我的例子中:/users/arthur而不是/users/1 2/多语言 对于同一类型的问题,我希望在URI的开头添加一个,即每个国家的ISO代码(ex:/fr/users/),并在我的URI上创

我是Rails的初学者,我已经准备好了所有这些,但我还有一些其他问题

我了解了基本Rails路由器的工作原理(基于控制器名称):

但我想做一些修改:

1/SOE

我需要更新用户检索的路由(show,update,…),我想在URI上使用@user[:username],而不是@user[:id]

所以在我的例子中:/users/arthur而不是/users/1

2/多语言

对于同一类型的问题,我希望在URI的开头添加一个,即每个国家的ISO代码(ex:/fr/users/),并在我的URI上创建别名

例如,在Rails路由器初始化之前,我希望更新所有路由,如:

/utilisateurs/...  ->  /users/...
/produits/... -> /products/...
我能轻松地做吗?!这些更改可能通过
链接到
功能适用

因此,如果我像调用@user
(使用@user数据:{'name'=>'arthur','lang'=>'fr})一样调用
,函数应该返回/fr/usilisateurs/arthur,而不是/users/1

谢谢大家的帮助

您可以对找到的多语言定义使用翻译路径。至于使用
username
作为您可以遵循的参数,基本上您可以将
覆盖到_param
,当使用
链接到
和其他帮助程序时,这将用于生成url

/utilisateurs/...  ->  /users/...
/produits/... -> /products/...