#define_model_callbacks
accepts the same options define_callbacks does, in case you
want to overwrite a default. Besides that, it also accepts an
:only option, where you can choose if you want all types
(before, around or after) or just some.
define_model_callbacks :initializer, only: :after
Note, the only: <type> hash will apply to all callbacks
defined on that method call. To get around this you can call the #define_model_callbacks
method as many times as you need.
define_model_callbacks :create, only: :after define_model_callbacks :update, only: :before define_model_callbacks :destroy, only: :around
Would create after_create, before_update and
around_destroy methods only.
You can pass in a class to before_<type>, after_<type> and around_<type>, in which case the callback will call that class's <action>_<type> method passing the object that the callback is being called on.
class MyModel
extend ActiveModel::Callbacks
define_model_callbacks :create
before_create AnotherClass
end
class AnotherClass
def self.before_create( obj )
# obj is the MyModel instance that the callback is being called on
end
end
Please login to continue.