class Account < ActiveRecord::Base
after_update :give_user_credit, :on => :update
def give_user_credit
credit = User.current_user.credit + 3.8
User.current_user.update_attribute(:credit, credit)
end
end
当我使用此服务器时,服务器挂起,当我在完全重启后回到应用程序时,我的信用额度为1000英镑。
这是怎么回事......
谢谢:D
答案 0 :(得分:6)
在我看来,每次更新记录时都要设置:give_user_credit callback
。
但是由于回调更新了记录,然后它再次触发回调,这将继续... ...
答案 1 :(得分:1)
您也可以使用此私有方法:
model.credit = 10
model.send(:update_without_callbacks)