2013-03-20 105 views
4

我有一個設計問題。當用戶已登錄,然後在標誌點擊鏈路,什麼都不會發生,但這裏是我的終端輸出:rails3,過濾器鏈暫停爲:require_no_authentication呈現或重定向

Filter chain halted as :require_no_authentication rendered or redirected 

這發生在我要去Processing by SessionsController#new as HTML

有什麼辦法,如果有記錄的用戶,我怎麼能告訴設計去after_sign_in_path

這裏是我的after_sign_in_path

def after_sign_in_path_for(resource) 
    if session[:user_return_to] 
     return_to = session[:user_return_to] 
     session[:user_return_to] = nil 
     return_to 
    else 
     redirect_path(resource) 
    end 
end 
+0

檢查,看是否有在標誌射擊任何錯誤或註冊控制器。我曾經遇到過這個問題,我在將模型參數列入白名單後對其進行了修復。 – cevaris 2014-05-29 22:41:19

回答

0

也許你應該考慮到控制器之前,在前面加上過濾器?

prepend_before_filter :require_no_authentication, :only => [:action1, :action2] 
+0

您是否將此行添加到Devise :: SessionsController的子類或實際修改設計的源?我不確定這在第一種情況下是如何起作用的,第二種情況聽起來像是一種糟糕的做法。 – Ankur 2013-08-08 05:03:01

0
def after_sign_in_path_for(resource) 
    if (return_to = session[:user_return_to]) 
     session[:user_return_to] = nil 
     return_to 
     return 
    else 
     redirect_path(resource) 
    end 
end 

我不知道這是工作 但也許使用可以使用after_filter