method
write_attribute
rails latest stable - Class:
ActiveRecord::AttributeMethods
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
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