Скажем, у меня есть две модели, Director и Movie, и третья модель соединения, называемая Directions. Они определены следующим образом:
Фильм:
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
Когда я создаю фильм, я хочу иметь возможность либо создать режиссера с предоставленной информацией (имя и imdb_id), либо найти существующего директора, основанного на imdb_id, и связать его с записью фильма.
По сути, я никогда не хочу удалять или редактировать режиссера. Я хочу иметь возможность создавать нового режиссера только в том случае, если он не существует на основе его imdb_id, или связываться с уже существующим режиссером, когда я создаю или редактирую фильм.
Мой вопрос: как мне связать все это в представлении / контроллере?
accept_nested_attributes_for отлично работает за исключением , вы действительно можете редактировать имя режиссера, когда редактируете фильм, который мне не нужен. У меня нет абсолютно никакого интереса обновлять / уничтожать настоящих директоров, только ассоциации.