У меня есть это:
<%= render :partial => "rewards", :collection => @rewards, :as => :reward %>
когда я считаю элементы в коллекции с <%= @rewards.count %>
, он показывает 1, и я проверяю, что есть только одна награда. Тем не менее, часть отображается в моем главном представлении дважды, а второй пустой (награда == ноль). Любая подсказка по этому поводу?
Обновление:
Выяснили причину, перед этим оператором рендеринга есть оператор user.rewards.build
для создания формы:
<%= render :partial => "form_reward", :locals => {:user => @user, :reward => @user.rewards.build } %>
<%= render :partial => "rewards", :collection => @rewards, :as => :reward, :locals => {:user => @user } %>
каким-то образом частичный рендеринг этого объекта тоже! Я думаю, это потому, что загрязнение имени. Теперь, как решить эту проблему?