我正在使用 Ruby on Rails 3.0.7,在我的应用程序中我有一个 Users::Article
类(注意它是命名空间的)。在routes.rb
文件说明如下:
resources :users do
resources :articles
end
我想设置与Users::Article
相关的路由类,以便我可以通过 URL /articles
访问它, /articles/new
, /articles/1
和 /articles/1/edit
但我仍想使用 RoR Convention over Configuration“系统”。也就是说,我想使用:
-
Users::ArticlesHelper
; -
views/users/articles/<file_name>.html.erb
查看文件; - 命名路由(
<name>_path
和<name>_url
); - 和其他“类似 Ruby on Rails 的方式”...
我该怎么做?
简而言之,例如,我想引用 /articles/1
路径,但使应用程序完全按照考虑 users/<user_id>/articles/1
的方式工作路径。
最佳答案
这不是审美问题,而是与路由参数有关。
您可以使用/articles/:id
然后在 Controller 中引用所有者(用户)。
在第二种情况下,/users/:user_id/articles/:id
将传递 2 个参数给 Controller 。
关于ruby-on-rails - 更改路由行为但保留 "Convention over Configuration",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6515395/