This method used to be called update_attributes in Rails 3. It changes the attributes of the model, checks the validations, and updates the record in the database if it validates.
Note that just like update_attribute this method also saves other changed attributes to the database.
Much like User::update_all this executes a direct SQL UPDATE query and bypasses any validations or callbacks. It does check first if ony of the columns are marked as readonly and if so, raises an exception.
This is equivalent to calling
User.update(1, name: "Rob")
A Full Detailed post about this can be found here: