ruby-on-rails - rails : How to observe join records that don't actually have a Model?

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

是否可以使用 Observer 来观察 JOIN 记录的创建?例如,您有一个用户模型 has_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

关于ruby-on-rails - rails : How to observe join records that don't actually have a Model?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/398673/

相关文章:

ruby-on-rails - 事件记录 : How can I get all of a user's cars without including those that have not been saved?

ruby-on-rails - Docker Ignore 不能很好地与 docker compose 和我的文件结构配合使用

ruby - 使用 Mechanize/Nokogiri 按类获取最接近的前一个兄弟中的文本值

ruby-on-rails - 简单的 Rails 注释添加额外的空白注释

ruby-on-rails - 有什么方法可以检查Rails 3.1中has_many关联是否存在?

ruby-on-rails - Ruby:从其 .inspect 输出中恢复对象

javascript - 通过JS AJAX调用调用Rails Controller 数据

java - 一个极端使用日志记录的开源项目

ruby - 使用 Ruby 将字符串与变量连接起来

javascript - Sequelize update with association 不更新关联模型的表