我对部分相对于数组的行为感到困惑。
简单示例
我有以下观点:
render :partial => "foobars", :object => [1, 2, 3]
在 _foobars.html.erb 中,我有
<%= foobars.size %>
<%= foobars[0] %>
奇怪的是显示的是“444”和“101”,而不是“3”和“1”。是因为我传入一个数组而发生了什么特别的事情吗?
我对部分相对于数组的行为感到困惑。
我有以下观点:
render :partial => "foobars", :object => [1, 2, 3]
在 _foobars.html.erb 中,我有
<%= foobars.size %>
<%= foobars[0] %>
奇怪的是显示的是“444”和“101”,而不是“3”和“1”。是因为我传入一个数组而发生了什么特别的事情吗?
杰德说的有效,但你正在寻找的是真的
render :partial => "foobars", :collection => [1,2,3]
在部分内部,迭代将在传递的数组上自行发生,foobars
并将保存每次迭代的数组元素
<%= foobars %>
将在部分内给出 1、2 和 3。
我想你想要的是:
render :partial => "foobars", :locals => {:object => [1, 2, 3]}
并在部分内部
<%= object.size %>
<%= object[0] %>