Rails 嵌套资源路径应该是什么样子?
我有一个嵌套在另一个资源中的资源:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要使用标准的复数路由,而不是单数,因此使用
resources
而不是resource
:You need to be using standard plural routes, not singular, so use
resources
instead ofresource
:您尝试查看您的路线吗?在你的控制台中输入:
通常 user_posts_path 是列出项目的 GET 请求(你确定在你的路由名称中 user 是复数吗?),所以你只需要提供代表你的 :id 的第一个参数,与用户相关。
Did you try to see your routes? in you console type:
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.