2013-08-28 1 views
0

Я хочу добавить функцию в свое приложение, в котором, когда пользователь будет подписан, он может изменить свой пароль, просто щелкнув ссылку на изменение пароля. Но когда я щелкните по этой ссылке, она перенаправляет на текущую страницу.Override PasswordsController в настройке, чтобы сменить пароль, когда пользователь уже подписан в

<%= link_to 'Change password', edit_user_password_path %> 

Может кто-нибудь сказать мне, что делать, чтобы решить эту проблему?

ответ

1

Потому что я не могу написать комментарий (моя репутация слишком низкая) Вместо этого я напишу ответ.

Посмотрите здесь:

rails devise edit_user_password_path

Это должно решить вашу проблему.

Вкратце: пароли Devise PasswordsController могут использоваться только в том случае, если пользователь signed_out.

+0

У меня тот же вопрос. В тех случаях, когда пользователи могут войти через omniauth, но не знают свой пароль и хотят изменить свой профиль (где им нужно знать свой пароль), этот дизайн вызывает очевидные проблемы. –

1

Предполагая, что пользователь loged в и хочет изменить его пароль

Разрабатывает :: RegistrationsController # редактировать

Вашей ссылки хотела бы:

<%= link_to 'Change password', edit_user_registration_path(current_user) %>