2012-06-28 40 views
0

有沒有辦法編寫Rails方法,它將註銷並重定向到自定義頁面?我正在使用Devise身份驗證寶石。設計認證:註銷並重定向

我不希望所有註銷後都會出現此重定向,但僅限於調用此方法的位置。

回答

6

這取決於你以重定向到一個地方或其他條件,但這裏是我在我的應用程序做重定向不同,這取決於我的用戶的角色:

添加爲在的ApplicationController的私有方法:

private 

    def after_sign_out_path_for(resource_or_scope) 
    # If it's admin 
    if is_admin?(current_user) 
     admin_path 
    # Otherwise 
    else 
     root_path 
    end 
    end 

基本上,你需要找到你需要在after_sign_out_path應用和相應的回報,以該條件的路徑,其條件。請注意,您會得到一個帶有示波器的符號,因此您可以使用它來選擇返回的重定向路徑。

+0

所以,看來,我應該定義一組自定義標誌,每個標誌位置。作爲這樣的標誌,我可以用目標路徑設置一些全局變量。 – Paul

+0

如果你可以通過示波器做到這一點,我認爲它更清潔,但還有其他的方法是... – Nobita

+0

你只回答了一半的問題。 – Noz