嵌套路由link_to循环路由助手

时间:2012-08-05 20:03:24

标签: ruby-on-rails ruby routes

如果我访问此页面/ articles / 1 / comments

为什么这不起作用(views / comments / index.html.erb)

<% @comments.each do |comment| %>
<%= link_to "show", article_comment_path(comment)
<% end %>

这会吗?

<% @comments.each do |comment| %>
<%= link_to "show", article_comment_path(@article, comment)
<% end %>

的routes.rb

resources :articles
  resources :comments
end

我认为路线助手足够聪明,可以推断出我想在当前背景下使用这篇文章......

魔术是相当不错的,除非你花了很多时间期待它是神奇的而不是:P

1 个答案:

答案 0 :(得分:1)

你不能期望太多。这样你仍然可以自由地使用实例变量,一个普通的参数。 link_to帮助程序也可以在控制器的上下文之外使用。此外,可能的参数列表是动态的。如果你给一个参数,它无法知道你指定了哪个:文章?评论?

请注意,您可以写:

link_to "show article", @article
link_to "show comment", [@article, comment]

希望这有帮助。