method

write_attribute

rails latest stable - Class: ActiveRecord::AttributeMethods

Method deprecated or moved

This method is deprecated or moved on the latest stable version. The last existing version (v2.3.8) is shown here.

write_attribute(attr_name, value)
public

Updates the attribute identified by attr_name with the specified value. Empty strings for fixnum and float columns are turned into nil.

1Note

can be useful to achieve attr_reader effect

edavey ยท Oct 30, 20081 thank

e.g.

class Account < ActiveRecord::Base 

def credit(amount)
  self.write_attribute(:balance, self.balance + amount)
  self.save!
end

def balance=(value)
  raise "You can't set this attribute. It is private."
end

end

this allows fred.account.credit(5) whilst raising an error on fred.account.balance = 1000