我想在更新密码后重定向到同一页面。 我有两种观点:
edit.html.haml
(account_path)
edit_password.html.haml
(account_change_password_path)
当我更新帐户(编辑或edit_password)时,它会将我重定向到根页面(我想重定向到同一页面)。
当我尝试在edit_password视图中更改密码(有错误)时,它会在"编辑视图"中显示设计错误。 (它应该显示edit_password视图中的设计错误。)
我试图用以下方法解决这个问题:
class RegistrationsController < Devise::RegistrationsController
# ...
protected
def after_update_path_for(resource)
redirect_to :back
end
end
但它不起作用。
如何将其重定向到同一个网址?
答案 0 :(得分:0)
你几乎是对的。因此,设计的路径助手after_sign_up_path
,after_sign_in_path
,after_update_path
需要一个URL,特别是一个字符串。
其他人点击此页面:更新工作后的关键是:
after_update_path
部分添加方法protected
如果您想重定向回到您来自的网页,请执行以下示例:
class RegistrationsController < Devise::RegistrationsController
# ...
protected
def after_update_path_for(resource)
request.referrer || edit_user_registration_path
end
end
因此,如果用户在edit_password_path上,则会将其带回那里。但是,如果安全良知用户使用防病毒软件或不遵循软件从浏览器中删除引荐来源,那么您的备份就是将用户带到完整的注册路径。