在尝试渲染集合时,我遇到了一个非常奇怪的问题,我甚至尝试了不同的方法。
这是我的部分代码(用于调试):
<pre><%= item.inspect -%></pre>
以下是我尝试使用它:
<%= render 'item', :collection => @foo.items %>
<%= render 'item', :collection => @foo.items, :as => :item %>
<% @foo.items.each do |item| %>
<%= render 'item', :locals => {:item => item} %>
<%= render 'item', :object => item %>
<% end %>
在每个场景中,partial只输出nil,但是如果我在每个循环中弹出item.inspect
,对象详细信息将按预期显示。
我认为唯一可能是问题的是items
关联是一个映射到不同类的短名称,所以我认为Rails 3自动化的东西可能会将它分配给一个变量来匹配类名,但是如果我尝试输出我得到'未定义的局部变量错误'。
我希望我忽略了一些愚蠢的事情。
答案 0 :(得分:10)
你有没试过这个? -
<% @foo.items.each do |item| %>
<%= render 'item', :item => item %>
<% end %>
<强>更新强>
以下是对该系列的猜测:
<%= render :partial => 'item', :collection => @foo.items, :as => :item %>