У меня есть простая форма обновления учетной записи пользователя, в которой я пытаюсь обновить информацию об учетной записи пользователя, вошедшего в систему.Но когда я пытаюсь сделать user.update_attribute, он терпит неудачу, жалуясь на то, что пароль пуст, даже если моя проверка на наличие пароля говорит :on => :create
Почему это происходит? Я не использую devise / authlogic или любой другой gem для аутентификации
Моя модель User выглядит следующим образом (в качестве столбцов обычно используются подозреваемые password_hash / salt):
attr_accessible :email, :password, :password_confirmation
validates_presence_of :password, :on => :create, :unless => :provider?
UsersController имеет следующий метод обновления:
def update
@user = current_user
@user.update_attributes params[:user]
# this prints error hash, see output below
logger.error @user.errors.inspect
# other rendering code
flash[:notice] = 'Saved OK'
render :action => :edit
end
Вывод @ user.errors.inspect после вызова @ user.update_attributes -
#<OrderedHash {:password=>["is too short (minimum is 6 characters)"]}>