DEV Community

Maynard Cabalitan
Maynard Cabalitan

Posted on

ActiveModel::Dirty Attribute Change

Sometimes we need to check specific attribute if change from it previous value before running an api for request limit.

The solution is activemodel::dirty

for after save

saved_change_to_attribute? 

for before save

will_save_change_to_attribute? 

Example

class User after_save api_update, if: :saved_change_to_name? before_save api_update, if: :will_save_change_to_position? def api_update end end 

These callbacks will run only if the attributes change from its previous value.

Top comments (0)