在我提交电子邮件给我发送重置密码说明后,我需要将我的Rails应用程序重定向到主页.默认情况下,设计在输入电子邮件后呈现登录表单.
所以我试图改写Devise::PasswordsController
并改变它redirect_to
,但没有成功.事实上,我认为Rails甚至不参加我的课程.这可能是一个非常愚蠢的错误,但我已经在这里呆了半天没有成功.
我想从这里覆盖密码控制器.
这是我的控制器:
class PasswordsController < Devise::PasswordsController
protected
def after_sending_reset_password_instructions_path_for(resource_name)
root_url
end
end
Run Code Online (Sandbox Code Playgroud)
routes.rb中:
devise_for :users, :controllers => {:passwords => "passwords"}
devise_for :users, :controllers => {:registrations => "registrations"}
devise_for :users, :controllers => {:sessions => "sessions"}
Run Code Online (Sandbox Code Playgroud)
我想提一下,我在同一个应用程序中覆盖了Devise的注册和会话控制器,它们似乎工作正常.
我在我的rails应用程序中使用active_admin.以前,我曾经在设计登录失败时渲染自定义页面.现在的问题是,如果active_admin登录失败,也会呈现相同的自定义页面.
我坚持这个问题并且在我的开发过程中放弃了放弃active_admin.请帮忙.
我的CustomFailure定义在这里:
class CustomFailure < Devise::FailureApp
def redirect_url
signin_path
end
def respond
if http_auth?
http_auth
else
redirect
end
end
end
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何修改代码以使用户登录的重定向路径失败并且admin_user登录失败.我的管理员用户登录路径是:admin_user_session_path