由于我对嵌套资源的理解,在边缘Rails上,不应该
link_to 'User posts', @user.posts
指向
/users/:id/posts
routes.rb文件包含
map.resources :users, :has_many => :posts
如果这不是默认行为,可以通过其他方式完成吗?
答案 0 :(得分:54)
答案 1 :(得分:16)
这应该有效:
link_to "User Posts", user_posts_path(@user)
了解更多详情,请访问:
答案 2 :(得分:2)
link_to
使用url_for
使用polymorphic_url
。
polymorphic_url
:
builds the helper method,使用活动记录对象的类名
calls the helper将活动记录对象作为参数
因此,正如其他人所说,你应该使用:
link_to 'User Posts', [@user, :posts]
路径为:
user_posts_path(@user)
^^^^ ^^^^^ ^^^^^
1 2 3
@user
类,因为它是有效记录构建好帮手方法。
答案 3 :(得分:1)
这是如何链接到最新Rails中的嵌套资源:
link_to'Destroy Comment',post_comment_path(comment.post,comment)
注意:这是部分的,因此没有@
。