if you update any properties of the model that are use visible and should be involved in the revalidation, make sure you use update_attributes , save or save! instead of update_attribute, even if only one property is updated, because update_attribute doesn’t change updated_at
update_attribute(name, value)
Updates a single attribute and saves the record. This is especially useful for boolean flags on existing records. Also note that
Validation is skipped.
Callbacks are invoked.
updated_at/updated_on column is updated if that column is available. # 这行
Updates all the attributes that are dirty in this object.
This method raises an ActiveRecord::ActiveRecordError if the attribute is marked as readonly.