2011-10-03 109 views
23

使用Devise登錄後,是否可以將用戶重定向到不同的頁面(基於角色)?它似乎只是重定向到根目錄:to => ...在routes.rb中定義的頁面使用Devise登錄後重定向

謝謝!

回答

28

默認情況下制定確實路由根後的行動。有一個關於在制定維基覆蓋這些動作一個很好的文章,​​

或者,你可以通過設置stored_locations_for(resource)爲零走得更遠,然後有不同的重定向每個動作,即:after_sign_up_path(resource)after_sign_in_path(resource)等。

+0

謝謝,這就是我要找的。 :-) – rsl

+0

對。如果你看看註冊控制器的設計,你可以看到那裏的所有不同的方法,然後可以隨意覆蓋它們中的任何一個。 – janders223

+1

@ janders223如何獲得設計註冊控制器的訪問權限? – Joel

14

簡單,你可以在添加此方法應用程序控制器

def after_sign_in_path_for(resource) 
    user_path(current_user) #your path 
end 
2

只粘貼下面的代碼到應用程序控制器或任何控制器,你需要做的操作;

def after_sign_in_path_for(resource) 
    users_path 
end