在使用ActiveRecord时,可以使用before_update
回调来获取记录的旧值,并将其存储在一个实例变量中,然后在after_update
回调中使用该实例变量来获取旧值。
以下是一个示例代码:
class YourModel< ActiveRecord::Base
before_update :store_old_value
after_update :do_something_with_old_value
private
def store_old_value
@old_value = self.attribute_was(:your_attribute)
end
def do_something_with_old_value
# 在这里可以使用@old_value来获取记录的旧值
end
end
在上面的代码中,before_update
回调中使用attribute_was
方法来获取记录的旧值,并将其存储在@old_value
实例变量中。然后,在after_update
回调中,可以使用@old_value
来获取记录的旧值。
需要注意的是,attribute_was
方法只能在before_update
回调中使用,因此需要在before_update
回调中存储旧值。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云