Вложенные атрибуты не работают в форме Rails

У меня есть форма, в которой используются две модели - победители значков и значков. Поля user_id и community_id необходимы для badge_winners, которые вложены в значки. Я пытался учиться у Railscast Райана Бейтса (http://railscasts.com/episodes/196-nested-model-form-part-1)

Ошибка, которую я получаю:

ActiveRecord::UnknownAttributeError in BadgesController#create
unknown attribute: user_id
app/controllers/badges_controller.rb:42:in `new'

Строка 42 соответствует этой строке в :create

@badge = Badge.new(params[:badge])

вот контроллер:

def new
  @badge = Badge.new
  badge_winner = @badge.badge_winners.build
  respond_with(@badge)
end

def create
  @badge = Badge.new(params[:badge])
  if @badge.save
    flash[:notice] = "Badge was successfully created."
    redirect_to home_path
  else
    flash[:notice] = "There was a problem creating your badge."
    redirect_to home_path
  end     
end

Вот форма (как community_id, так и user_id заполняются нормально):

<%= form_for(@badge) do |f| %>

  <%= f.label :Description %>
  <%= f.text_area :description %>

  <%= f.fields_for :badge_winners do |builder| %>
     <%= builder.hidden_field :user_id ,:value => user_id %>
     <%= builder.hidden_field :community_id ,:value => community_id %>
  <% end %>

  <%= f.submit "Give Badge" %>
<% end %>

Модели (user_id и community_id — поля в таблице BadgeWinner):

class Badge < ActiveRecord::Base
  belongs_to :community
  has_many :badge_winners, :dependent=>:destroy
  accepts_nested_attributes_for :badge_winners
end

class BadgeWinner < ActiveRecord::Base
  belongs_to :user
  belongs_to :badge
end

Это аналогичная проблема, но у меня нет синтаксической причины: Форма с вложенными атрибутами с ассоциацией has_one не работает в Rails 3

Я надеюсь, что кто-то сможет помочь. Я просто знаю, что это где-то ошибка новичка. Спасибо заранее за любую помощь!


person yellowreign    schedule 10.03.2012    source источник
comment
Что установлено user_id в этой строке <%= builder.hidden_field :user_id ,:value => user_id %>?   -  person Kris    schedule 20.05.2013
comment
У вас есть столбец user_id в вашей таблице?   -  person rapcal    schedule 13.09.2013