我在控制器内有一个复杂的操作,可以对数据库执行多个更新查询。
我怎样才能做出这个动作行为类似于交易没有任何结构重构?
MyModel.transaction do
begin
@model.update_stuff
@sub_model.update_stuff
@sub_sub_model.update_stuff
rescue ActiveRecord::StatementInvalid # or whatever
# rollback is automatic, but if you want to do something additional,
# add it here
end
end
这里有交易方法的文档 http://api.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)