尝试渲染部分时局部变量始终为 nil
在尝试渲染集合时,我遇到了一个非常奇怪的部分问题,我什至尝试了不同的方法。
这是我的部分代码(用于调试):
<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 automagic 可能会将其分配给一个变量以匹配该变量类名,但是如果我尝试输出,我会收到“未定义的局部变量错误”。
我希望我忽略了一些愚蠢的事情。
I'm getting a really strange issue with a partial when trying to render a collection, I've even tried different approaches.
Here is my partial code (for debugging):
<pre><%= item.inspect -%></pre>
And here are my attempts to use it:
<%= 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 %>
In each of those scenarios the partial just outputs nil, however if I pop a item.inspect
inside my each loop the object details are displayed as expected.
The only thing I thought that could be a problem is that the items
association is a short name mapped to a different class, so I thought that Rails 3 automagic thing might be assigning it to a variable to match that class name, however if I try and output that I get the 'undefined local variable error'.
I hope I'm overlooking something silly.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你已经尝试过这个了吗? —
更新
以下是对该集合的猜测:
Have you tried this already? —
Update
Here's a guess for the collection: