DirectorとMovieの2つのモデルとDirectionsという3番目の結合モデルがあります。これらは、次のように定義される。has_manyとの関連付けの作成または更新
映画:
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に基づいて存在しない場合、または映画を作成または編集しているときに既存のディレクターと関連付ける場合にのみ、新しいディレクターを作成することができます。
私の質問は、ビューア/コントローラでこれをすべてリンクするにはどうすればいいですか? accepts_nested_attributes_for
あなたは、私が望んでいない映画を編集しているとき、あなたは実際に監督の名前を編集することができ除いて正常に動作します。私は実際の取締役、唯一の団体を更新/破壊することに全く関心がありません。
ありがとう、それは私が途中で取得します。私は最終的に(何百もの)かなりのディレクターを持っているので、それらを表示することはできませんが、AJAXの検索マジックで問題を解決できます。 実装方法がわからない特定のユースケースがあります。監督としてスティーブン・スピルバーグと映画を制作してみましょう。その後、彼は実際にそれを指示しなかったが、ジェームズキャメロンは、私はまだDBにジェームズキャメロンを持っていないことを実現。あなたのソリューションでは、スティーブンスピルバーグのチェックを外すことができましたが、James Cameronを追加してディレクターのDBレコードとアソシエーションを作成するにはどうすればいいですか? ありがとう! –