How to change the value of User attribute

Dear All
i follow the instruction of Ruby on rails 3 tutorial, now i want to
update the email of the User,
user =User.find(1)
user.update_attributes(:email=>"test@gmail.com")

but the save failed, error message is "password can not be blank",
so i try this one
user.update_attributes(:email=>"test@gmail.com", :password =>"12345678")
then it success,but i dont want to update the password, i try a lots
times that is i want to change the value of other attributes, i must
update the password, if not ,the updating will fail.

how can i update without updating the password ?

Check the User model
(…/app/models/user.rb)
and see if there is a validation on password, present, could be e.g.

validates :password, :presence => true

If you not requre a password to be present, you could deactive that line.

Or, alternatively, you could make sure a password is filled in for the user.

You can check these valdiation errors e.g. with this code

user.valid? # false if some validation failed
user.errors.messages # all the validations that failed

HTH,

Peter

Peter Vandenabeele wrote in post #1041264:

change you password validation to

add :on => :create to your password validation. It makes it so the
validations are only called for the specified controller action.

example:
validates :password, :presence => true, :on => :create

Check out the rails guide for more info
http://guides.rubyonrails.org/active_record_validations_callbacks.html#on