如果我访问此页面/ 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
答案 0 :(得分:1)
你不能期望太多。这样你仍然可以自由地使用实例变量,一个普通的参数。 link_to帮助程序也可以在控制器的上下文之外使用。此外,可能的参数列表是动态的。如果你给一个参数,它无法知道你指定了哪个:文章?评论?
请注意,您可以写:
link_to "show article", @article
link_to "show comment", [@article, comment]
希望这有帮助。