claass用户具有activated: boolean
和activated_at: date_time
属性。
当属性activated
设置为值true
时,我想自动运行一个运行几个条件的方法,然后将属性activated_at
设置为当前日期和时间
如果after_update :set_activated_at, if: :activated_changed?
等于activated_at
,我尝试设置更新activated
的{{1}}回调,但这当然会创建一个永恒循环。
如果另一个属性等于某个值,运行方法更新属性的最佳方法是什么?
答案 0 :(得分:1)
你很亲密,真的!
after_update :set_activated_at
def set_activated_at
if activated_changed? && activated == true
update_column(:activated_at, Time.now)
end