2014-09-20 18 views
0

claass用户具有属性activated: booleanactivated_at: date_time如果某个属性更新为true,则运行更新另一个属性的方法

当属性activated被设置为我要自动运行,运行几个条件语句的方法,然后设置属性activated_at为当前日期和时间值true

我试图设置一个after_update :set_activated_at, if: :activated_changed?回调更新activated_at如果activated等于true,但当然创建一个死循环。

如果另一个属性等于某个值,运行方法更新属性的最佳方法是什么?

回答

1

你很近,真的!

after_update :set_activated_at 

def set_activated_at 
    if activated_changed? && activated == true 
    update_column(:activated_at, Time.now) 
end