开发者

How do I use update_attributes with custom setter methods in Rails?

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.


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 
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜