【问题标题】:Manage manualy Rails router for SOE and multilingual为 SOE 和多语言手动管理 Rails 路由器
【发布时间】:2014-07-29 14:52:57
【问题描述】:

我是 Rails 的初学者,我准备好了所有这些 very usefull tutoriel (French) 但我还有其他问题..

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

Requête   HTTP           URL Action 
-----------------------------------
GET       /users         index  
GET       /users/1       show   
GET       /users/new     new    
POST      /users         create 
GET       /users/1/edit  edit   
PUT       /users/1       update 
DELETE    /users/1       destroy    

但我想进行一些修改:

1/国企

我需要更新用户检索的路由(显示、更新、..)并且我想在 URI 上使用 @user[:username] 而不是 @user[:id]

所以在我的情况下:/users/arthur 而不是 /users/1

2/ 多语言

对于同一类型的问题,我想在 URI 的开头添加一个每个国家/地区的 ISO 代码(例如:/fr/users/)并在我的 URI 上创建别名。

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

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

我可以轻松做到吗?!这些更改可能适用于link_to 函数?

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

感谢大家的帮助!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 uri multilingual rails-routing


    【解决方案1】:

    您可以将翻译路径用于找到here 的多语言定义。至于使用username作为参数你可以关注this,基本上你覆盖to_param,这将用于在使用link_to和其他助手时生成url。

    【讨论】:

      猜你喜欢
      • 2011-02-16
      • 2014-03-30
      • 2015-04-12
      • 2013-12-19
      • 1970-01-01
      • 2020-03-09
      • 2013-09-13
      • 2017-10-09
      • 1970-01-01
      相关资源
      最近更新 更多