在数组上使用partials?

时间:2010-11-23 00:28:40

标签: ruby-on-rails partials

我对部分数据的行为方式感到困惑。

简单示例

我在视图中有以下内容:

render :partial => "foobars", :object => [1, 2, 3]

在_foobars.html.erb中,我有

<%= foobars.size %>
<%= foobars[0] %>

奇怪的是,显示的是“444”和“101”,而不是“3”和“1”。 是不是特别发生了,因为我正在传递数组?

2 个答案:

答案 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] %>