我正在使用回调“after_commit”,并且我正在使用rails“已更改?”知道某些属性值是否已更改的方法。 我阅读文档似乎“改变了?”并且“_was”方法在after_commit回调中不起作用,因为值被重置它们对after_save起作用但我不想使用它。
after_commit :some_function, :on => :update
def some_function
if some_attributes_value_changed? #always returns false
previous_value = some_attributes_value_was #always shows current value
end
end
这些方法的替代方法是在数据库更新后知道值是否已更改。