5
假設我有兩個模型,Director和Movie,以及第三個連接模型稱爲Directions。他們被定義爲這樣的:創建或更新與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搜索魔法來解決這個問題。 我有一個特定的使用案例,我不知道如何實現。比方說,我和史蒂文斯皮爾伯格一起創作了一部電影作爲導演。然後我意識到他沒有真正引導它,但詹姆斯卡梅隆做到了,我還沒有詹姆斯卡梅隆在數據庫中。通過您的解決方案,我可以取消選中Steven Spielberg,但我將如何添加James Cameron並創建Director DB記錄和關聯? 謝謝! – 2011-01-31 00:59:01