我正在使用Rails 3和Devise來創建一個應用程序,用戶到達網站並顯示一個包含登錄和註冊表單的主頁。這個頁面有其自己的控制器(「主頁」),所以它的路線是Rails 3 w/Devise:如何根據用戶是否通過認證來設置兩個獨立的主頁?
root :to => "homepage#index"
我想,如果用戶已經登錄來顯示不同的主頁。這將帳戶具有根點
root :to => "dashboard#index"
有沒有辦法在routes.rb中有條件路由,這將允許我檢查用戶是否在路由到這些主頁之一之前進行身份驗證?
我嘗試使用下面的代碼,但如果我沒有登錄,設計問我登錄,所以只有第一條路線的工作原理。
authenticate :user do
root :to => "dashboard#index"
end
root :to => "homepage#index"
而且,我想要的網址指向www.example.com在這兩種情況下,使www.example.com/dashboard/index和www.example.com/homepage/index從來沒有出現在瀏覽器。
非常感謝!
非常感謝@Bradley,這是在殺我:) – 2012-01-17 01:25:36
我這樣做,但都登錄用戶和未登錄用戶使用儀表板#索引 – 2012-02-18 08:16:18
警告:這不適用於Rails 4,你會得到一個錯誤:'無效的路由名稱,已經在使用:'root'' – Happynoff 2013-08-05 17:15:25