使用 Ruby On Rails 进行事务操作 [英] Transaction Action with Ruby On Rails

查看:47
本文介绍了使用 Ruby On Rails 进行事务操作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在控制器内部有一个复杂的操作,它对数据库执行多个更新查询.

I have a complex action inside controller that performs several update queries to the database.

如何在不进行任何结构重构的情况下使此操作像事务一样?

How can I make this action acts like transaction without any structural refactoring?

推荐答案

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

这里是交易方法的文档.

这篇关于使用 Ruby On Rails 进行事务操作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆