2013-03-04 47 views
1

我正在使用用户登录/注册的设备。我想从登录前的页面重定向用户。但设计不正确重定向。在登录时,它登录用户,但在/ 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 

我已经使用产品团购页面上的引导模式脚本。它适用于页面上模态脚本中使用的登录按钮。但是,在头文件中为登录按钮提供了不正确的重定向错误,从而导致应用程序的每一页都出现错误。

会是什么原因?

+0

你能不能也发表您的'stored_location_for'方法 – 2013-03-04 13:58:17

+0

@rocketscientist没有定义它。它应该是什么? – user1977201 2013-03-04 15:13:46

+0

@ user1977201我面临同样的问题..你有没有得到任何解决方案? – neeraj 2013-06-13 11:54:30

回答

1

对于在将用户的位置重定向到登录页面之前存储用户位置的方法,您需要这样的内容。

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 

当用户进入你的网站在会话变量中,然后将用户重定向到会话变量一旦他们已经登录这将存储的位置。

+0

不起作用,给出相同的错误。完整路径应该被其他路径替换? – user1977201 2013-03-05 04:48:40

+0

嗯,我会输出每种方法的结果,以查看返回的内容以及会话变量设置为的内容。您可以使用'puts #variable name'来执行此操作,并将这些值输出到您的日志中。 – 2013-03-05 13:04:16

相关问题