Ruby on rails 重写Desive中的PasswordsController,以便在用户已登录时更改密码

Ruby on rails 重写Desive中的PasswordsController,以便在用户已登录时更改密码,ruby-on-rails,ruby-on-rails-3,authentication,devise,Ruby On Rails,Ruby On Rails 3,Authentication,Devise,我想在我的应用程序中添加一项功能,当用户登录时,他只需单击“更改密码”链接即可更改密码。但当我单击该链接时,它会重定向到当前页面 <%= link_to 'Change password', edit_user_password_path %> 有人能告诉我如何解决这个问题吗?因为我不能写评论(我的声誉太低),所以我会写一个答案 请看这里: 这应该能解决你的问题 简而言之:仅当用户已注销时才能使用Desive Passwords控制器。假设用户已登录并希望更改其密码 设计::

我想在我的应用程序中添加一项功能,当用户登录时,他只需单击“更改密码”链接即可更改密码。但当我单击该链接时,它会重定向到当前页面

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


有人能告诉我如何解决这个问题吗?

因为我不能写评论(我的声誉太低),所以我会写一个答案

请看这里:

这应该能解决你的问题


简而言之:仅当用户已注销时才能使用Desive Passwords控制器。

假设用户已登录并希望更改其密码

设计::注册控制器#编辑

您的链接如下:

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

我也有同样的问题。如果用户可以通过omniauth登录,但不知道自己的密码,并且想要更改其配置文件(需要知道密码),那么这种设计会导致明显的问题。