我有以下代码在验证方法验证时运行。
def validate
if self.limit_reached = true
self.errors.add('plan', 'limit reached')
self.account_setting.update_attribute(:email_sent, true)
end
end
但是,由于验证失败,正在回滚此更新,如何防止这一更新被回滚
答案 0 :(得分:3)
试试这个:
def validate
if self.limit_reached
self.errors.add('plan', 'limit reached')
@set_email_sent = true
return false
end
end
def after_rollback
if @set_email_sent
self.account_setting.update_attribute(:email_sent, true)
end
end
希望它有所帮助!