如何在HABTM表中编辑其他数据?

时间:2009-01-16 13:30:53

标签: ruby-on-rails has-and-belongs-to-many

如何更新HABTM表中的其他数据。

例如:我有moviespeople和HABTM movies_people表,但persontype_id表中还有movies_people字段,表示此作用那部电影的人。如何添加/更改此值?

2 个答案:

答案 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:

http://railscasts.com/episodes/47-two-many-to-many