ActiveRecord Setter Overloading

rails activerecord

Tue Nov 13 23:20:00 -0800 2007

When overloading an ActiveRecord setter, I’ve often done this:

def name=(new_name) @old_name = name attributes['name'] = new_name end

However, this doesn’t always seem to work (changes to attributes don’t seem to stick). Recently I’ve started doing this:

def name=(new_name) @old_name = name super end

Which seems cleaner anyway. I can’t seem to find anyone talking about the correct convention - anyone know the right answer here?