【发布时间】:2012-04-04 18:20:35
【问题描述】:
我一直在想,假设我有一个模型,其属性在每个实例中都依赖于其他实例中的相同属性。最好的例子是列表中项目的 order 属性。
如果您同时拥有该商品的旧值和新值,那么更新其余商品的订单属性的最佳位置是在 before_update 回调方法中。
但是现在,每当您更新列表中的其他项目时,都会再次调用回调,一次又一次......
我正在寻找一种优雅的方式来解决这个问题。
我听说过 :update_without_callbacks 方法,但我不想使用私有方法,而且我觉得没有必要添加额外的属性。
有什么好主意吗?提前致谢!
【问题讨论】:
-
数据库触发器可以接受吗?它不是一个 Active Record 解决方案,但它可能是最高效和最可靠的。
标签: ruby-on-rails ruby activerecord callback