Я пытаюсь передать две переменные для формы вложенной модели, но получаю ошибку. Вероятно, это простая синтаксическая ошибка, которую кто-то видел сразу, но я ее не вижу.
У меня есть шаблон, показывающий пользователей, если вы щелкнете по одному из них, для использования в форме необходимо указать user_id и community _id. И сообщество, и пользователь должным образом объявлены в контроллере.
ссылка на форму:
<%= link_to "award badge", award_badge_badges_path, :user_id => user.id, :community_id => @community.id %>
В форме используются две модели - награждения и награждения. User_id и community_id необходимы для badge_winners, которые вложены в значки. Я получаю ошибку "undefined local variable or method 'user_id' for #<#<Class:0x77544c0>:0x7714230>"
, поэтому я думаю, что что-то не так с 2-й и 3-й строками в форме. Вот форма:
<%= form_for(@badge) do |f| %>
<%= f.hidden_field :user_id ,:value => user_id %>
<%= f.hidden_field :community_id ,:value => community_id %>
<%= f.label :Description %>
<%= f.text_area :description %>
<%= f.fields_for :badge_winners do |builder| %>
<%= render "badge_winner", :f => builder, :locals => {:user_id => user_id, :community_id => community_id} %>
<% end %>
<%= f.submit "Give Badge" %>
<% end %>
шаблон шоу в контроллере:
def award_badge
@badge = Badge.new
badge_winners = @badge.badge_winners.build
end
знак победителя частичного
<%= f.hidden_field :user_id ,:value => user_id %>
<%= f.hidden_field :community_id ,:value => community_id %>