2009-04-21 59 views
0

我目前有以下的for-loop。這是'view/vendor/show.html'。如何使用link_to鏈接到不同的控制器和模型?

我成立了一個 'vendor :has_many :reviews',這是for循環:

<% for review in @vendor.reviews %> 

    <%= review.user_id %> 
    <%= review.summary %><br /> 

    <%= link_to 'More', @review%> 

    <hr class="left span-5" /> 

<% end %> 

對於link_to我想它鏈接到網址:評論/:REVIEW_ID

的感謝!

回答

0
<%= link_to "More", review_path(@review) %> 
+0

嗨,謝謝 - 我收到一個錯誤: review_url未能從{:action =>「show」,:controller =>「reviews」,:id => nil}生成,預期:{:controller =>「reviews」,:action =>「show」},diff:{:id => nil} – Angela 2009-04-21 15:12:14

+0

我想我已經開始工作了,謝謝....在什麼情況下@review會工作而不工作?我需要使用review.id來代替。 – Angela 2009-04-21 15:53:14

1

您的代碼,現在是行不通的,

link_to 'More', @review 

你只想審覈(不包括@)@review是不是在你的代碼的任何地方定義。

假設你有你的路由設置正確,

link_to 'More', review 

應該足夠了。當然,Brian的代碼做同樣的事情(再次,沒有@雖然)。 Rails可以自動計算出正確的路徑,如果你只是使用對象直接(使用多態路徑)或布萊恩的:

link_to 'More', review_path(review) 

相同review_path(review.id)那麼Rails會自動拍攝對象的作爲ID引用

相關問題