有没有办法将after_commit回调设置为特定的ActiveRecord事务

时间:2017-02-28 09:59:15

标签: ruby-on-rails ruby activerecord transactions activesupport

我正在以这种方式创建一个ActiveRecord事务

ActiveRecord::Base.transaction do
  MyModel.create!(name: "value")
  OtherModel.create!(name: "value")
end

我想为此事务设置一个特定的after_commit回调。我不想将它附加到任何一个模型上,因为每次我单独创建其中一个模型时都不会执行它。

我不能简单地在transaction块的末尾写一些代码,因为真正的事务可能是在这段代码之外创建的(我没有将require_new选项设置为{{1} })

有没有办法将回调设置为特定的事务实例?

非常感谢

1 个答案:

答案 0 :(得分:0)

请看一下这些宝石: