有没有办法让我将 URL 传递到 Devise 登录页面,以便当用户登录时,他/她被重定向回该 URL?
就像是:
/login?passthru=/somethingawesome
或者设置一个会话变量更好?
有一个方法来存储重定向位置和一个方法来访问存储的重定向位置application_controller
:
def store_location(path)
session[:return_to] = request.request_uri || path
end
def redirect_back_or_default(default)
redirect_to(session[:return_to] || default)
session[:return_to] = nil
end
重写 after_sign_in_path_for 方法将用户重定向到所需位置:
def after_sign_in_path_for(resource_or_scope)
redirect_back_or_default(resource_or_scope)
end
设计维基:如何:成功注销后重定向到特定页面 https://github.com/plataformatec/devise/wiki/How-To%3a-Redirect-to-a-specific-page-on-successful-sign-in-out
顺便说一下,上述方法未经测试,您应该测试一下。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)