Из серии Райана Бейтса о вложенных модельных формах я смог создать проект с concerts
, bands
и performances
, в которые они играют.Я могу добавить выступления к новому концерту или когда я редактирую концерт.Это довольно просто и понятно, когда я следую его руководству.
performances
принадлежит bands
, а performances
принадлежит concerts
.На спектакле будет показан список играющих групп и время начала / окончания.В названиях групп есть только строковый столбец.
Когда я создаю новый концерт и добавляю целый ряд выступлений, я хотел бы, в то же время, иметь возможность создавать объекты band
если они еще не существуют.В противном случае у пользователя есть дополнительные этапы создания этих объектов, что было бы утомительно.
Как, с помощью accepts_nested_attributes_for
или какой-либо другой полезной функции Rails, я могу это сделать?Я использую Rails 2.3.8
Вот мои ассоциации:
class Band < ActiveRecord::Base
has_many :performances
has_many :concerts, :through => :performances
end
class Concert < ActiveRecord::Base
has_many :performances
has_many :bands, :through => :performances
accepts_nested_attributes_for :performances, :reject_if => lambda { |a| a[:content].blank? }, :allow_destroy => true
end
class Performance < ActiveRecord::Base
belongs_to :band
belongs_to :concert
end