我延長一些開源項目的回報率,我有以下問題:原來的程序員通過收集到的部分像這樣回報率:傳遞集合部分將無法正常工作
<%= render partial: "option", collection: survey.options %>
,然後他們在部分使用它,例如這樣
<%= option.name %>
所有閱讀本指南http://guides.rubyonrails.org/layouts_and_rendering.html
的調查也有answer_pairs時工作正常,是可以理解的(與字符串字段「ANSWER1」和「ANSWER2」),我嘗試將它們傳遞給另一部分是這樣
<%= render partial: "table_head", collection: survey.answer_pairs %>
,我嘗試使用它在部分_table_head.html.erb這樣
<td><b><%= answer_pair.answer2 %></b></td>
但Rails的給了我一個NameError - 未定義的局部變量或方法`answer_pair」爲#<#:0x007fa07b9e0098>:應用程序/視圖/調查/ _table_head.html.erb:1
誰能告訴我爲什麼,請? 當我還通過了「爲:」像這樣
<%= render partial: "table_head", collection: survey.answer_pairs, as: :answer_pair %>
它承認收集的第一answer_pair,但僅此而已。 它認識到集合中的所有answer_pairs,如果我這樣做
<% survey.answer_pairs.each do |pair| %>
<td><b><%= pair.answer2 %></b></td>
<% end %>
任何幫助表示讚賞!
感謝您的提示!你對自動生成的變量的名稱是正確的,但是當我這樣做,就像你說它再次停止在第一次answer_pair之後遍歷集合:(確實有一個想法是爲什麼? – KKrenz 2014-12-06 08:30:46