如何更新HABTM表中的其他数据。
例如:我有movies
,people
和HABTM movies_people
表,但persontype_id
表中还有movies_people
字段,表示此作用那部电影的人。如何添加/更改此值?
答案 0 :(得分:3)
你应该使用has_many:through association,这是因为这个原因引入的。而不仅仅是一个movies_people表,你还有一个额外的模型,叫做喜欢或观看之类的东西(取决于你想通过关联完成的事情),它们属于:电影和:人,以及你的电影模型,你做的
has_many :favorites
has_many :people, :through => :favorites
这使您可以访问所有喜欢这部电影和电影的人的movie.people.favorites访问您最喜欢的表格中的任何内容(如persontype_id)
Josh Susser的文章,Many-to-Many Dance Off在解释这个我可以期待的事情方面做得更好,所以为了获得额外的帮助,我会看看它。 http://blog.hasmanythrough.com/2006/4/20/many-to-many-dance-off
答案 1 :(得分:2)
Ryan Bates也有一个很棒的关于这个主题的Railscast: