Check If Particular Attribute Has Changed In A Callback

Posted By Weston Ganger

Sometimes its handy to do a particular task if an attribute has changed in a model.

You probably only want it to run when an instance is updated, so choose your callback accordingly.

class Post < ActiveRecord::Base
  after_update :notify, :if => :my_attribute_changed?

  def notify
    puts "The Attribute 'my_attribute' has been changed!"

Helpful Links:

Article Topic:Software Development - Ruby / Rails

Date:March 18, 2015