son*_*132 3 routes ruby-on-rails actiondispatch
我想覆盖:id参数,这解释了如何。但并不真正适用于嵌套资源。我的路线如下:
resources :users, param: :user_id do
resources :projects, param: :project_id
end
Run Code Online (Sandbox Code Playgroud)
这会生成格式为 的 url::user_user_id/:project_id。我宁愿把它作为:user_id/:project_id. 有人可以帮忙吗?
我知道这是一个已经回答的老话题,但据我所知,没有解释为什么 @\xd0\x97\xd0\xb5\xd0\xbb\xd1\x91\xd0\xbd\xd1\x8b\xd0 的代码\xb9 有效,而不是 @sonalkr132 有效(我知道这似乎偏离主题,但 @sonalkr132 发布了另一个问题,这表明他不明白它是如何工作的)
\n\n当您创建像projectsinside users、rails 这样的嵌套资源时,您可能会遇到像 这样的路径users/:id/projects/:id,这是无意义的,因此,rails 会自动为第一个 添加前缀:id,因此params您有:user_idand :id(引用:project_id,但毫无疑问我们在 ProjectsController 中,因此无需进一步说明)
现在,当你说param: :user_id,这与前缀相加user_,这就是为什么你会得到:user_user_id- 你要求rails做两次这项工作。
| 归档时间: |
|
| 查看次数: |
1972 次 |
| 最近记录: |