2012-08-05 56 views
0

如果我訪問此頁/篇/ 1 /評論嵌套的link_to幹線循環路線的幫手

爲什麼不這項工作(的意見/評論/ 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

你不能期待太多。這樣你仍然可以自由地使用一個實例變量,一個普通的參數。 link_to幫助器也可以在控制器的上下文之外使用。此外,可能的參數列表是動態的。如果你給一個參數,它無法知道你指定的是:文章?評論?

注意,你可以只寫:

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

希望這有助於。

+0

我想我明白了什麼意思。你的回答在這個問題上提供了更多的信息。它讓我想到的是,鐵軌是聰明的,不要假設你想要什麼路線。我不得不多看它,但它似乎假設comment =/articles/1/comment/1是對的,但無法想象這會如何破壞任何東西。特別是考慮到我的路線(見更新)。 – botbot 2012-08-05 21:29:11