gpt4 book ai didi

ruby-on-rails - Ruby on Rails - 为什么不回滚 "raise ActiveRecord::Rollback"的嵌套事务?

转载 作者:行者123 更新时间:2023-12-04 03:52:39 24 4
gpt4 key购买 nike

我希望 abraise 起为零内部事务将“冒泡”到外部事务,但事实并非如此。 ab还是有值(value)观的。为什么会这样?

a = nil
b = nil
Foo.transaction do
a = Bar.create! name: 'a'
Foo.transaction do
b = Bar.create! name: 'b'
raise ActiveRecord::Rollback
end
end

puts "a: #{a.reload.inspect}" #has value
puts "b: #{b.reload.inspect}" #has value

最佳答案

从我收集的 the ROR docsthis post内部事务回滚,但外部事务仍然提交内部事务,因此尽管raise,所有对象都被持久化。 .

关于ruby-on-rails - Ruby on Rails - 为什么不回滚 "raise ActiveRecord::Rollback"的嵌套事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56280161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com