[英]Redirecting to current page after sign in using devise
我正在使用devise进行用户登录/注册。 我想从登录之前的页面上重定向用户。 但是设计不能正确重定向。 登录后,它会登录用户,但会在/ user / sign_in页面上引发错误:
“ Firefox已经检测到服务器正在以永远无法完成的方式重定向对该地址的请求。”
当我返回并重新加载该页面时,它显示用户已登录。
我的应用程序控制器如下所示:
class ApplicationController < ActionController::Base
protect_from_forgery
def after_sign_in_path_for(resource)
stored_location_for(resource) || request.referer || root_path
end
def after_sign_out_path_for(resource_or_scope)
request.referrer
end
end
我在产品购买页面上使用了引导模式脚本。 它非常适合页面上的模式脚本中使用的登录按钮。 但是会给标题中的登录按钮以及应用的每个页面提供不正确的重定向错误。
请问是什么原因?
对于在重定向到登录页面之前将存储用户位置的方法,您将需要类似以下内容。
before_filter :store_location
def store_location
session[:user_return_to] = request.fullpath
end
def after_sign_in_path_for(resource)
session[:user_return_to] || request.referrer || root_path
end
当用户在会话变量中输入您的网站时,它将存储位置,然后在用户登录后将用户重定向到该会话变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.