Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
24 lines (23 sloc) 988 Bytes
layout title jumbo
Active Record Attribute Methods

You know these two getter and setter methods that are created when you add a column to a table in active record. Take name for example. # nil = 'stuart'

But here is a list of lesser known methods that are automatically created for attributes that you might find useful.         # Boolean: calls .present? on the attribute (aka. nil, false, 0, or '')
person.name_was      # when updating a record it will return the previously set value
person.name_changed? # Boolean: if the value has changed
person.name_change   # Array: index 0 is the old value, index 1 is the new value
person.restore_name! # set the value back to what it initially set to

Want to see a list of all available methods created for each attribute? Run this with your model name and an attribute to find out!

# rails c {|e| e =~ /name/}