有这个:
class User < ActiveRecord::Base
after_save :execute_after_save
def execute_after_save
Kernel.puts "Actual object still not saved" if changed?
end
end
Kernel.puts
句子应该被称为从不,因为在保存对象后, 。
1.9.3p286 :003 > u = User.create!(:name => "Wadus Name")
Actual object still not saved
=> #<User id: 1, name: "Wadus Name">
1.9.3p286 :004 > u.changed?
=> false
1.9.3p286 :004 > u.name = "Other Name"
=> "Other Name"
1.9.3p286 :005 > u.changed?
=> true
1.9.3p286 :006 > u.save!
Actual object still not saved
=> true
1.9.3p286 :007 > u.changed?
=> false
查看不应存在的所有Actual object still not saved
句子。
我希望在保存对象后,after_save
回调实际上被称为。
这种情况让我感到疯狂,我需要做dirty objects
和callbacks
的一些组合。
答案 0 :(得分:6)
它是在保存之后但在提交之前。
after_commit
可能是您正在寻找的东西。