【发布时间】:2015-08-29 09:30:52
【问题描述】:
我希望我的路线命名约定保持一致。对于任何资源,默认参数是 :id。但是,如果在其中嵌套另一个资源,则父资源的参数将更改为:parent_id。
我的路由看起来像:
resources :users do
resources :projects do
resources :issues
end
end
对于用户模型,它将生成类似 :id 的 url,对于项目 url 将是 :user_id/:id,对于问题 url 将是 :user_id/:project_id/:id。我试图重载this之后的默认参数
resources :users, param: :user_id do
resources :projects, param: :project_id do
resources :issues, param: :issue_id
end
end
它会生成如下 URL::user_user_id/:project_project_id/:issue_id。由于我要覆盖它,因此我希望关闭父资源的默认附加。我希望我的路线看起来像 :user_id/:project_id/:issue_id 并且我希望它对于所有模型都是一致的。即项目应该映射到:user_id/:project_id。
【问题讨论】:
标签: ruby-on-rails routing actiondispatch