Создание или обновление ассоциации с has_many: через

Скажем, у меня есть две модели, 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 отлично работает за исключением , вы действительно можете редактировать имя режиссера, когда редактируете фильм, который мне не нужен. У меня нет абсолютно никакого интереса обновлять / уничтожать настоящих директоров, только ассоциации.

5
задан Erlingur Þorsteinsson 30 January 2011 в 23:33
поделиться