【发布时间】:2015-06-24 13:47:25
【问题描述】:
我有以下型号:
class Model < ActiveRecord::Base
attr_accessible :foo
before_update :check_for_stuff
def check_for_stuff
# foo_was = 42; foo = 24
raise ActiveRecord::Rollback if foo_was == 42
end
def update_foo
update_attributes foo: 24
end
end
将引发异常,但不会发生回滚,该值将设置为 24。
如何正确触发整个事务的回滚?
【问题讨论】:
标签: ruby-on-rails activerecord model