Method: ActiveRecord::Transactions::ClassMethods#after_commit

Defined in:
lib/active_record/transactions.rb

#after_commit(*args, &block) ⇒ Object

This callback is called after a record has been created, updated, or destroyed.

You can specify that the callback should only be fired by a certain action with the :on option:

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]

Note that transactional fixtures do not play well with this feature. Please use the test_after_commit gem to have these hooks fired in tests.



237
238
239
240
241
242
243
# File 'lib/active_record/transactions.rb', line 237

def after_commit(*args, &block)
  set_options_for_callbacks!(args)
  set_callback(:commit, :after, *args, &block)
  unless ActiveRecord::Base.raise_in_transactional_callbacks
    ActiveSupport::Deprecation.warn(CALLBACK_WARN_MESSAGE)
  end
end