Скажем, у меня есть две модели, Режиссер и Кино, и третья модель соединения, которая называется Направления. Они определены как таковые:
Фильм:
class Movie < ActiveRecord::Base
has_many :directions
has_many :directors, :through => :directions
end
Режиссер:
class Director < ActiveRecord::Base
has_many :directions
has_many :movies, :through => :directions
end
Направления:
class Direction < ActiveRecord::Base
belongs_to :movie
belongs_to :director
end
Когда я создаю фильм, я хочу иметь возможность создать режиссера с предоставленной информацией (name и imdb_id) или найти существующего режиссера на основе imdb_id и связать его с записью фильма.
По сути, я никогда не хочу удалять или редактировать режиссера. Я хочу иметь возможность создавать нового режиссера, только если он не существует, основываясь на его imdb_id, или связываться с уже существующим режиссером, когда я создаю или редактирую фильм.
У меня вопрос, как мне связать все это в view / controller?
accepts_nested_attributes_for отлично работает кроме вы можете редактировать имя режиссера, когда вы редактируете фильм, который мне не нужен. Я абсолютно не заинтересован в обновлении / уничтожении реальных директоров, только ассоциации.