2012-05-30 81 views
2

我有一對夫婦來我的網站的不同部分的我的主頁鏈接,只限於那些被記錄在誰。用戶點擊鏈接時是否顯示Flash消息?

如果您沒有登錄,然後你會被重定向到註冊表單。

這不是很好,但我想首先將用戶重定向到我的主頁。以及在屏幕頂部顯示一條閃光消息,通知他們必須首先登錄才能繼續。

任何人都可以幫助或指引我在正確的方向嗎?

回答

0
#lib/custom_authentication_failure.rb 
class CustomAuthenticationFailure < Devise::FailureApp 

    protected 

    def redirect_url 
    root_url 
    end 
end 

# /config/initializers/devise.rb 
Devise.setup do |config| 
... 
    config.warden do |manager| 
    manager.failure_app = CustomAuthenticationFailure 
    end 
end 

如果您收到一個未初始化的常數CustomAuthenticationFailure錯誤,並且已經把CustomAuthenticationFailure類的/ lib目錄下目錄,確保自動加載您的LIB文件在你的application.rb中的文件:

config.autoload_paths += %W(#{config.root}/lib) 

你必須確保頁面,您redire ct用戶不需要認證。

http://adamtrepanier.net/post/7622315219/devise-authenticate-user-and-redirecthttps://github.com/plataformatec/devise/wiki/_pages

編輯: 我假設你正在使用authenticate_user!,來限制訪問。

+0

@ Keva161,你有沒有嘗試重新啓動服務器?還請檢查您聲明的類名,以及添加的名稱。 –

3

您可以結合redirect_to,並在單個語句閃光燈消息:

redirect_to root_url, alert: "You're guest. That page was for users only :-)"