gpt4 book ai didi

ruby-on-rails - 使用嵌套资源覆盖命名路由参数

转载 作者:行者123 更新时间:2023-12-05 02:21:45 25 4
gpt4 key购买 nike

我想覆盖 :id 参数和 this解释如何。但实际上不适用于嵌套资源。我的路线如下:

resources :users, param: :user_id do
resources :projects, param: :project_id
end

这会生成格式为::user_user_id/:project_id 的 url。我宁愿将它作为 :user_id/:project_id。有人可以帮忙吗?

最佳答案

我知道这是一个已经回答过的老话题,但正如我所见,没有解释为什么 @Зелёный 的代码有效,而不是 @sonalkr132 的代码(我知道这似乎离题,但 @sonalkr132 发布了另一个向我表明他不明白它是如何工作的问题)

当您在 users 中创建嵌套资源(如 projects)时,rails 可能会出现类似 users/:id/projects/:id 的路径>,这是无稽之谈,所以 Rails 会自动为第一个 :id 添加前缀,因此在 params 中你有 :user_id:id(引用:project_id,但毫无疑问我们在ProjectsController中,所以不需要进一步说明)

现在,当你说 param::user_id 时,它会加上前缀 user_,这就是你得到 :user_user_id 的原因 -你要求 Rails 做两次工作。

关于ruby-on-rails - 使用嵌套资源覆盖命名路由参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32284131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com