-1

基本上我的管理員和用戶在我的應用程序中。在這裏用戶簽名後,它也是路由user_dashboard,但如果我作出admin_dashboard更改網址,它也得到路由。我怎樣才能停止分別驗證用戶和管理員

類似地,如果管理員獲得登錄它也路由到Admin_dashboard,但如果我作出user_dashboard它的路由更改URL。我怎麼能限制

class ApplicationController < ActionController::Base 

    protect_from_forgery 

    skip_before_filter :authenticate_user! , :only => ["welcome#index"] 

    def after_sign_in_path_for(user) 
    user_dashboard_index_path 
    end 

    def after_sign_out_path_for(user) 
    welcome_index_path 
    end 
end 
+0

你可以使用像active_admin的寶石...?或者你可以在控制器中創建一個動作,並在你的控制器中添加before_filter選項...在這個動作中,你可以把你的相關代碼放到你的屏幕上。 – sp1rs

+0

如果你正在使用devise gem,你也可以爲用戶和管理員創建一個範圍。如果你想要你的管理員和用戶都分別然後用戶認證使用設計和管理面板使用Active-Admin Gem。 – SSR

+0

你如何識別你的管理員和用戶?你有什麼領域? – SSR

回答

0

如果你有這樣的用戶模型「is_admin」任何領域,那麼你只是需要檢查是否登錄用戶爲admin與否。

def after_sign_in_path_for(user) 
    if user.is_admin? 
    admin_dashboard_index_path 
    else 
    user_dashboard_index_path 
    end 
end 
+0

錯誤?對於#<用戶:0x9063cf0> – learner

+0

您是否有用戶模型中的任何字段,如is_admin?,如果不是,則默認情況下取一個並存儲is_admin = true。或者你可以按照你的要求來做。 – SSR

相關問題