update_attribute and update_attributes do this: 1) They update the passed attributes in the receiver.
2) They save the receiver. The arguments say which attributes have to be updated, and as a convenience the model is saved (callbacks run, timestamps are updated, etc.). In addition, update_attribute has some extra semantics, in particular validations are skipped and that's why it succeeded in your example. (Was the example written by hand? the call does not seem to be valid.) In recent version of Rails you can use update_column(s), whose semantics are less confusing than the ones of update_attribute. But it is also going to skip validations and other AR stuff because it issues straight SQL. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.
