Использование партиалов на массивах? - PullRequest
0 голосов
/ 23 ноября 2010

Я смущен тем, как партиалы ведут себя по отношению к массивам.

Простой пример

У меня есть следующее представление:

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

И в _foobars.html.erb, у меня есть

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

Странно то, что отображается «444» и «101», а не «3» и «1».Что-то особенное происходит, потому что я передаю массив?

Ответы [ 2 ]

3 голосов
/ 23 ноября 2010

То, что говорит Джед, работает, но на самом деле вы ищете

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

Внутри партиала итерация будет проходить сама по себе в переданном массиве, а foobars будет содержать элемент массива каждой итерации

<%= foobars %>

даст 1, 2 и 3 внутри частичного.

2 голосов
/ 23 ноября 2010

Я думаю, что вы хотите:

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

и внутри частичного

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