gpt4 book ai didi

ruby-on-rails - after_commit 真的运行了吗?

转载 作者:数据小太阳 更新时间:2023-10-29 07:26:19 24 4
gpt4 key购买 nike

我在 Rails 3.0.8 上并尝试使用 after_commit 回调。

它在这里定义:https://github.com/rails/rails/blob/v3.0.8/activerecord/lib/active_record/transactions.rb#L210

这里提到它是回调之一:https://github.com/rails/rails/blob/v3.0.8/activerecord/lib/active_record/callbacks.rb#L22

考虑一下:

class Car < ActiveRecord::Base
after_commit do
# this doesn't execute
end

after_commit :please_run
def please_run
# nor does this
end
end

知道为什么它不起作用吗?我假设我正在正确使用它。

最佳答案

如果您在测试套件中对此进行试验,则必须为该类设置 self.use_transactional_fixtures = false。默认情况下,Rails 在事务中执行测试套件,并在结束时执行回滚以进行清理。它使您的测试速度更快,但如果您依靠自己控制事务或此回调,它就不起作用。

关于ruby-on-rails - after_commit 真的运行了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6309207/

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