Rails after_save和after_commit回调

Sub*_*dra 1 ruby ruby-on-rails

我在rails中经历了after_save和after_commit回调的不同之处,我发现主要区别是在创建和更新时调用了after_commit,有没有办法只在create上调用after_commit?

The*_* Oz 5

您可以指定只应使用:on选项通过某个操作触发回调:

after_commit :do_foo, on: :create
after_commit :do_bar, on: :update
after_commit :do_baz, on: :destroy

after_commit :do_foo_bar, on: [:create, :update]
after_commit :do_bar_baz, on: [:update, :destroy]
Run Code Online (Sandbox Code Playgroud)