2013-03-04 82 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

相關問題