Я пытаюсь создать форму, позволяющую пользователям изменять свой пароль:
Вид:
- form_tag change_password_users_path do
= error_messages_for :user, :header_message => "Please Try Again", :message => "We had some problems updating your account"
%br
= label_tag :password, "New password:"
= password_field_tag "password"
%br
= label_tag :password_confirmation, "NConfirm new password:"
= password_field_tag "password_confirmation"
%br
= submit_tag "Update Account"
Контроллер:
def change_password
@user = current_user
if request.post?
@user.password = params[:password]
@user.password_confirmation = params[:password_confirmation]
if @user.save
redirect_to user_path(current_user)
else
render :action => "change_password"
end
end
end
Authlogic обнаруживает ошибки проверки, когда пароль «слишком короткий» или пароль не соответствует подтверждению, но ничего не делает, когда форма отправляется с пустыми обоими полями.
@ user.save должен возвращать true, потому что я перенаправлен на 'user_path (current_user)'.
Пароль фактически не изменяется в базе данных.
Спасибо за вашу помощь.