Hi all,
here is the challenge:
I have this validation method, that basically prevents an object which billed = true to be updated:
def before_update if read_attribute(:billed) errors.add_to_base('This service has already been billed for') end !read_attribute(:billed) end
The above code does not work in case I do something like:
object = Model.find(:first) object.billed = true object.save
because in my before_update filter I am reading the billed column, that now has 'true', so the validation returns false and the record is not saved.
The purpose of this validation is to prevent a record that has been marked billed to be changed. But how then am I going to update billed to true?
I've tried using self.service.update_attribute('billed', true), doest work. update_attribute_with_validation_skipping returns unknown method error.
Thanks!