【发布时间】:2013-12-20 11:39:15
【问题描述】:
我正在尝试使用 Devise 实现重置密码页面。
我想要实现的是在更新密码后将页面重定向到不同的路由。因此,我在passwords_controller.rb 中根据the documentation 进行了更改。
我的控制器如下所示:
class Users::PasswordsController < Devise::PasswordsController
# basic is my html.erb file for layout purpose....
layout "basic"
def edit
render :edit
end
def after_resetting_password_path_for(resource)
root_path
end
end
在我的routes.rb 文件中。我已经包含了密码控制器的路线:
devise_for :users, :controllers => {
:sessions => "users/sessions",
:passwords => "users/passwords",
}
在这里,我可以在app/views/passwords/edit.html.erb 中访问我的视图。
问题是after_resseting_password_path_for 方法(在passwords_controller.rb 中被覆盖)没有被执行,我被重定向到输出中的同一页面而不是root_path。也没有更新。
是在 Devise 中实现的更新方法有问题还是我遗漏了什么?
【问题讨论】:
-
您是否确认您的密码更新未通过验证?
-
@zeantsoi 是的,电子邮件已正确验证。
-
这个运气好吗?如果提供的解决方案没有解决您的问题,您能否更新您的问题以更深入地了解您的问题?
-
@zeantsoi...没有希望...兄弟...我会更新这个问题...似乎更新方法失败了。否则我的密码应该在第一时间更新......即使它没有正确重定向......
-
对此有任何更新吗?无论您对持续存在的问题有何进一步了解,都会有所帮助。
标签: ruby ruby-on-rails-3 devise forgot-password change-password