Как отобразить дополнительный атрибут модели соединения (в has_many через ассоциацию) в формах active_admin?
f.input :ad_slots
Будет отображаться только модель ad_slots, но у меня есть таблица соединений с названием stream_slots, в которой есть дополнительный столбец с именем продолжительности. Я хочу иметь возможность выбрать рекламное место, а также ввести продолжительность.
Это модели:
#live_stream:
has_many :stream_slots, :dependent => :destroy
has_many :ad_slots, :through => :stream_slots
#ad_slot:
has_many :stream_slots, :dependent => :destroy
has_many :live_streams, :through => :stream_slots
#stream_slot:
belongs_to :ad_slot
belongs_to :live_stream
и stream_slot имеют идентификаторы двух других моделей, а также дополнительный атрибут продолжительности.
Спасибо.
- Пробовал что-то еще -
Вместо ссылки на ad_slots я сделал следующее:
f.has_many :stream_slots do |association|
association.inputs do
association.input :ad_slot
association.input :duration
end
конец
и в классе LiveStream я добавил:
accepts_nested_attributes_for :stream_slots
Таким образом, форма показывает ad_slots для меня на выбор, а также текстовое поле для дополнительного атрибута, однако, я не могу его сохранить. Я верю, что знаю, в чем проблема, но я не знаю, как ее решить. Это потому, что live_stream_id в таблице stream_slots пуст. Как установить его для недавно созданного live_stream? (Тот, который я создаю сейчас ..)
Любая помощь будет оценена ..