交易中的Rails交易?

时间:2013-11-19 02:06:30

标签: ruby-on-rails ruby activerecord transactions

当你有交易的交易时会发生什么

def a
  ActiveRecord::Base.transaction do
    # stuff
  end
end

ActiveRecord::Base.transaction do
  a
  # more stuff
end

如果内部事务成功但外部事务失败,反之亦然会发生什么?当成功或失败时会发生什么?

2 个答案:

答案 0 :(得分:6)

  

transaction次调用可以嵌套。默认情况下,这会使嵌套事务块中的所有数据库语句成为父事务的一部分。

行为在documentation

中有详细描述

答案 1 :(得分:0)

您可以在rails中使用嵌套事务。但是在嵌套事务的情况下,您必须关注回滚部分。检查nested-transations-in-rails

相关问题