是否可以使用Observer观察JOIN记录的创建?例如,您有一个用户模型has_and_belongs_to_many图书模型。是否可以在创建或删除books_users记录时对其进行监控,或者我是否必须拥有BookUser模型才能执行此操作?
我想要观察的例子:
User.books << book
OR
User.books.push(book)
OR 任何!
谢谢,
Dave K。
答案 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