我有2个相同型号的记录,我想保持这些记录中的一些数据同步。
我打算做一个after_save回调(或可能是观察者)来触发更新其他记录,但我担心这会导致无限循环的保存,因为另一条记录会导致回调。
我读到here你可以在保存时绕过回调,但这些方法似乎是hackish并且在rails 2和3之间不一致(我们将在几个月内转向rails 3)。
有更好的选择吗?
答案 0 :(得分:0)
您可以创建attr_accessor:
attr_accessor :dont_run_callback
after_save :my_callback
def my_callback
MyModel.find(1).update_attributes(..., :dont_run_callback => true) unless dont_run_callback
end
类似的东西
答案 1 :(得分:0)
您可以在根据第一条记录的更新更新第二条记录时使用 update_columns
方法,反之亦然。