2014-12-29 19 views
0

我目前正在使用rails 4.2.0beta4與設計。在我的模式中,我的用戶有布爾值:admin default:false。在安裝rails_admin之後,暫時每個用戶都可以進入我的/ admin。但是,我如何使它只有布爾is_admin的用戶?真正的人登錄?rails_admin用戶的布爾管理身份驗證

我應該做鋼軌生成設計管理?這是比再次配置更快的選擇嗎?

在此先感謝。

回答

0

我想創建一個管理員命名空間... 1 - 在routes.rb中

namespace :admin do 
    resources :your_routes 
end 

2 - 確保下列目錄存在; app/views/admin,app/controllers/admin,並將所有想要限制爲管理員的控制器和視圖模板放入這些文件夾中。

3 - 添加這application_controller.rb

def user_is_admin? 
    signed_in? && current_user.is_admin? 
end 

4 - 在您的應用程序/控制器/管理內部的任何控制器,然後添加一個的before_filter檢查 some_controller.rb

class Admin::YourController < ApplicationController 
    before_filter :user_is_admin? 
end 

爲了什麼這是值得的,如果你不想,你不必命名空間。從技術上講,只需將步驟3和4中的before_filter添加到要保護的任何操作中,但從長遠來看,我認爲命名空間是一個更好的主意。