ActiveRecord’s update_attribute() method is useful for setting a single attribute value while bypassing validation.
You may not know, however, that when invoked on a new record, update_attribute() saves the record, including all the fields, and bypassing validation for all fields.
This can lead to some unwelcome surprises. For example, acts_as_list uses update_attribute(), so if you’re using acts_as_list, watch out for unexpected, unvalidated saves when using new records within the list.
Thanks to Adam Milligan for the heads-up.