Sorry, it should be

user1.update_attribute(:name, 'New Name')

I switched to update_column but the old code already created some dirty 
records in the DB. I should have created validation at DB level instead of 
trusted AR completely. 

On Wednesday, March 12, 2014 7:27:41 PM UTC+7, Xavier Noria wrote:
>
> 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.

Reply via email to