0

我对部分相对于数组的行为感到困惑。

简单示例

我有以下观点:

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

在 _foobars.html.erb 中,我有

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

奇怪的是显示的是“444”和“101”,而不是“3”和“1”。是因为我传入一个数组而发生了什么特别的事情吗?

4

2 回答 2

3

杰德说的有效,但你正在寻找的是真的

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

在部分内部,迭代将在传递的数组上自行发生,foobars并将保存每次迭代的数组元素

<%= foobars %>

将在部分内给出 1、2 和 3。

于 2010-11-23T05:00:07.257 回答
2

我想你想要的是:

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

并在部分内部

<%= object.size %>
<%= object[0] %>
于 2010-11-23T00:38:45.470 回答