From f154d5b43d59e18096377b634f491759e7202cce Mon Sep 17 00:00:00 2001 From: Sharang Dashputre Date: Fri, 5 Apr 2019 01:37:04 +0530 Subject: Add documentation for 'after_save_commit' [ci skip] --- guides/source/active_record_callbacks.md | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'guides') diff --git a/guides/source/active_record_callbacks.md b/guides/source/active_record_callbacks.md index 614737c342..8f54e78224 100644 --- a/guides/source/active_record_callbacks.md +++ b/guides/source/active_record_callbacks.md @@ -473,10 +473,33 @@ end => User was saved to database ``` -To register callbacks for both create and update actions, use `after_commit` instead. +There is also an alias for using the `after_commit` callback for both create and update together: + +* `after_save_commit` + +```ruby +class User < ApplicationRecord + after_save_commit :log_user_saved_to_db + + private + def log_user_saved_to_db + puts 'User was saved to database' + end +end + +# creating a User +>> @user = User.create +=> User was saved to database + +# updating @user +>> @user.save +=> User was saved to database +``` + +To register callbacks for both create and destroy actions, use `after_commit` instead. ```ruby class User < ApplicationRecord - after_commit :log_user_saved_to_db, on: [:create, :update] + after_commit :log_user_saved_to_db, on: [:create, :destroy] end ``` -- cgit v1.2.3