我对部分数据的行为方式感到困惑。
我在视图中有以下内容:
render :partial => "foobars", :object => [1, 2, 3]
在_foobars.html.erb中,我有
<%= foobars.size %>
<%= foobars[0] %>
奇怪的是,显示的是“444”和“101”,而不是“3”和“1”。 是不是特别发生了,因为我正在传递数组?
答案 0 :(得分:3)
杰德所说的有效,但你正在寻找的是真正的
render :partial => "foobars", :collection => [1,2,3]
在partial中,迭代将在传递的数组上自行发生,foobars
将保存每次迭代的数组元素
<%= foobars %>
将在部分内部给出1,2和3。
答案 1 :(得分:2)
我认为你想要的是:
render :partial => "foobars", :locals => {:object => [1, 2, 3]}
并在部分
内<%= object.size %>
<%= object[0] %>