是否可以使用 Observer 来观察 JOIN 记录的创建?例如,您有一个拥有_and_belongs_to_many Book Models 的用户模型。是否可以在创建或删除 books_users 记录时对其进行监控,或者我必须有一个 BookUser 模型来执行此操作?
我想观察的例子:
User.books << book
或者
User.books.push(book)
管他呢!
谢谢,
戴夫·K。
是否可以使用 Observer 来观察 JOIN 记录的创建?例如,您有一个拥有_and_belongs_to_many Book Models 的用户模型。是否可以在创建或删除 books_users 记录时对其进行监控,或者我必须有一个 BookUser 模型来执行此操作?
我想观察的例子:
User.books << book
或者
User.books.push(book)
管他呢!
谢谢,
戴夫·K。
这就是您应该使用 has_many :through 而不是 has_and_belongs_to 的确切原因;它允许您创建一个 BookUser 模型,其中可以使用常规的 activerecord 回调/观察者(例如 after_save)。该站点更好地解释了差异,http://blog.hasmanythrough.com/2006/4/20/many-to-many-dance-off