У меня есть следующие модели:
class EventParticipant < ActiveRecord::Base
belongs_to :event
has_one :user
attr_accessible :name, :email, :is_organizer, :is_attending
end
class Event < ActiveRecord::Base
has_many :event_participants
attr_accessible :event_participants_attributes
accepts_nested_attributes_for :event_participants
end
class HappyHour < Event
end
и соответствующие им схемы:
create_table "event_participants", :force => true do |t|
t.string "name"
t.string "email"
t.boolean "is_organizer"
t.boolean "is_attending"
t.integer "event_id"
t.integer "user_id"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "events", :force => true do |t|
t.string "name"
t.boolean "is_finalized"
t.string "type"
t.datetime "created_at"
t.datetime "updated_at"
end
add_foreign_key "event_participants", "events", :name => "event_participants_events_fk"
Теперь на контроллере EventParticipantsController я загружаю модель HappyHour из запроса следующим образом:
@happy_hour = HappyHour.new(params[:happy_hour])
Но по какой-то причине массовое назначение атрибута Happy_our event_participants завершается неудачно:
Запущен POST "/ event_participants" для 127.0.0.1 в 2012-01-25 18:55: 31 -0300 Обработка EventParticipantsController # создать как JS Параметры: {"happy_hour" => {"event_participants" => {"0" => {"name" => "Diego", "email" => "XXX @ YYY.com "," is_organizer "=>" true "}," 1 "=> {" name "=>" Test "," email "=>" test@email.com "," is_organizer "=>" false "}}}, "add_event_participant" => "aaa@bbb.com"} ПРЕДУПРЕЖДЕНИЕ. Невозможно массово назначить защищенные атрибуты: event_participants
Чего мне не хватает?Я нашел множество примеров массового присвоения связанных объектов по отношениям «один к одному», но ни одного из них по отношению ко многим, как в моем случае.