Локальная переменная всегда равна нулю при попытке отрисовки партиала

У меня действительно странная проблема с партиалом при попытке визуализации коллекции, я даже пробовал разные подходы.

Вот мой частичный код (для отладки):

<pre><%= item.inspect -%></pre>

И вот мои попытки его использовать:

<%= render 'item', :collection => @foo.items %>
<%= render 'item', :collection => @foo.items, :as => :item %>

<% @foo.items.each do |item| %>
    <%= render 'item', :locals => {:item => item} %>
    <%= render 'item', :object => item %>
<% end %>

В каждом из этих сценариев частичный вывод просто выводит nil, однако, если я выдаю item.inspect внутри каждого цикла детали объекта отображаются, как и ожидалось.

Единственное, что, как я думал, может быть проблемой, это то, что ассоциация items представляет собой короткое имя, сопоставленное с другой класс, поэтому я подумал, что автоматическая вещь Rails 3 может назначать его переменной, чтобы она соответствовала имени этого класса, однако, если я попытаюсь вывести это, я получу «неопределенную ошибку локальной переменной».

Надеюсь, я упускаю из виду что-то глупое.

9
задан DEfusion 17 January 2011 в 15:35
поделиться