我有一个模型大量使用 activerecord 生命周期回调。我在创建时使用 after_commit 回调来执行需要主键才能运行的 sidekiq 作业。
after_commit on: :create do
async_process
end
块内的代码永远不会运行。
但是,当我这样做时
after_commit :on => :create do
async_process
end
代码运行良好。
据我了解,这两条不同的线应该以完全相同的方式解释。我错过了什么?
我正在使用 ruby 2.0.0p247,Rails 3.2.17。