Rails:如何观察实际上没有模型的连接记录?

时间:2008-12-29 21:09:36

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

是否可以使用Observer观察JOIN记录的创建?例如,您有一个用户模型has_and_belongs_to_many图书模型。是否可以在创建或删除books_users记录时对其进行监控,或者我是否必须拥有BookUser模型才能执行此操作?

我想要观察的例子:

User.books << book

OR

User.books.push(book)

OR 任何!

谢谢,

Dave K。

1 个答案:

答案 0 :(得分:4)

这就是你应该使用has_many:through而不是has_and_belongs_to的确切原因;它允许您创建一个BookUser模型,其中可以使用常规的activerecord回调/观察者(例如after_save)。该网站更好地解释了这些差异,http://blog.hasmanythrough.com/2006/4/20/many-to-many-dance-off