0

如果我访问此页面 /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 %>

路线.rb

resources :articles
  resources :comments
end

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

魔法非常好,除非你花很多时间期待它是魔法的,但事实并非如此:P

4

1 回答 1

1

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

请注意,您可以只写:

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

希望这可以帮助。

于 2012-08-05T21:20:06.553 回答