A callback is a method that gets called at specific moments of an object's lifecycle (right before or after creation, deletion, update, validation, saving or loading from the database).
For instance, say you have a listing that expires within 30 days of creation.
One way to do that is like this:
class Listing < ApplicationRecord
after_create :set_expiry_date
private
def set_expiry_date
expiry_date = Date.today + 30.days
self.update_column(:expires_on, expiry_date)
end
end
All of the available methods for callbacks are as follows, in the same order that they are called during the operation of each object:
Creating an Object
Updating an Object
Destroying an Object
NOTE: after_save runs both on create and update, but always after the more specific callbacks after_create and after_update, no matter the order in which the macro calls were executed.