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