Rails 嵌套资源路径应该是什么样子?

发布于 2024-12-11 18:21:24 字数 387 浏览 0 评论 0原文

我有一个嵌套在另一个资源中的资源:

resource :users do
  resource :posts
end

官方指南说我应该有这个网址:

/users/:id/posts/:id

To show update edit or delete帖子。但事实上我有:

ruby-1.9.2-p290 > app.users_posts_path(1,2)
=> "/users/posts.1?=2" 

出了什么问题?

I have a resource nested in another:

resource :users do
  resource :posts
end

The official guide says I should have this url:

/users/:id/posts/:id

To show update edit or delete the posts. But in fact I have:

ruby-1.9.2-p290 > app.users_posts_path(1,2)
=> "/users/posts.1?=2" 

What's going wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

归途 2024-12-18 18:21:24

您需要使用标准的复数路由,而不是单数,因此使用 resources 而不是 resource

resources :users do
  resources :posts
end

You need to be using standard plural routes, not singular, so use resources instead of resource:

resources :users do
  resources :posts
end
肩上的翅膀 2024-12-18 18:21:24

您尝试查看您的路线吗?在你的控制台中输入:

$ bundle exec rake routes

通常 user_posts_path 是列出项目的 GET 请求(你确定在你的路由名称中 user 是复数吗?),所以你只需要提供代表你的 :id 的第一个参数,与用户相关。

Did you try to see your routes? in you console type:

$ bundle exec rake routes

Usually user_posts_path is the GET request for listing items (are you sure that in your route name user is plural?), so you just need to provide the first parameter that represents your :id, related to users.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文