【问题标题】:Which ActiveRecord callbacks do I use to ensure I'm capturing all inserts, updates, and deletes?我使用哪些 ActiveRecord 回调来确保捕获所有插入、更新和删除?
【发布时间】:2012-10-03 17:36:27
【问题描述】:

我有一个 Rails 2.3.12 应用程序需要更新 Rails 3.2.8 应用程序。他们的数据库位于同一台机器上。

留给 2.3.12 应用程序的时间不多了,所以我没有选择一个强大的消息传递解决方案,而是选择了更轻量级的东西来进行更新。 2.3.12 应用程序是一个产品目录,我只需要更新那些与之相关的产品或它们的下级 has_many 模型发生了一些变化。

我认为最好的方法是在after_savebefore_destroy 回调挂钩上附加一些代码。我将有第三个表来跟踪相关的产品 ID,然后 3.2.8 应用程序上的后台进程将不断循环遍历该表以查找更新。

我是否通过这两个回调覆盖了足够的基础,还是我需要捕获其他东西来处理对特定模型的所有插入、更新和删除?

另外,如果有更好的方法,我很想听听。我考虑过使用观察者,但不知道 2.3.12 中是否可用。

【问题讨论】:

    标签: ruby-on-rails activerecord callback


    【解决方案1】:

    AR Observer 在 2.3.8 及以上版本中确实可用。我写了一个观察者,把它附加到我关心的模型上,并将细节写到一个表中。效果很好!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-16
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 2013-12-19
      • 2021-01-26
      • 2015-04-10
      • 1970-01-01
      相关资源
      最近更新 更多