【发布时间】:2011-06-18 07:05:01
【问题描述】:
假设我有两个模型,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 创建一个不存在的新导演,或者在我创建或编辑电影时与预先存在的导演关联。
我的问题是,如何在视图/控制器中链接所有这些?
accepts_nested_attributes_for 工作正常除了您实际上可以在编辑我不想要的电影时编辑导演的姓名。我完全没有兴趣更新/销毁实际的董事,只有协会。
【问题讨论】:
标签: ruby-on-rails ruby associations has-many-through