在尝试渲染集合时,我遇到了一个非常奇怪的问题,我什至尝试了不同的方法。
这是我的部分代码(用于调试):
<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 %>
在每种情况下,局部只输出nil,但是,如果我在每个循环中弹出一个
item.inspect
,则对象详细信息将按预期显示。我唯一认为可能是问题的是
items
关联是映射到其他类的短名称,因此我认为Rails 3的自动配置可能会将其分配给变量以匹配该类名称,但是如果我尝试并输出“未定义的局部变量错误”。我希望我能忽略一些愚蠢的事情。
最佳答案
你已经尝试过了吗? -
<% @foo.items.each do |item| %>
<%= render 'item', :item => item %>
<% end %>
更新
这是该系列的一个猜测:
<%= render :partial => 'item', :collection => @foo.items, :as => :item %>
关于ruby-on-rails-3 - 尝试呈现局部变量时,局部变量始终为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4714926/