views:

35

answers:

1

I have a model called Contact with an attribute called phone_number. I have some custom setter methods such as

def prefix=(num)
self.phone_number[3..5] = num
end

When I call @contact.update_attributes({:prefix => '510'}), I don't get any errors and @contact gets changed, but the changes don't make their way to the database. I've tried using attr_accessible to specifically allow using these setter methods to no avail.

Is there any way to get update_attributes to work for me? I'm using Rails 2.3.8.

A: 

You have to inform rails that you have changed an attribute as you are performing in place modifications:

def prefix=(num)
  phone_number_will_change!
  self.phone_number[3..5] = num
end 
KandadaBoggu
Bah! That gets me every time. Thanks, Kandada.
muirbot