2013-07-26 80 views
0

我正在使用rails_admin,devise和cancan。無法選擇has_many的選項

用戶有很多角色。

我有一個管理員頁面設置用戶具有管理員角色可以管理用戶。但是,管理員無法管理角色。

創建或編輯用戶時,不會列出角色。

如何允許管理員向用戶添加角色而不讓他們編輯或創建角色?

這是我的能力文件

class Ability 
    include CanCan::Ability 

    def initialize user 
    if user && user.admin? 
     can :access, :rails_admin 
     can :dashboard 
     cannot :manage, Role 
     can :manage, User 
    else 
     cannot :access, :rails_admin 
    end 
    end 
end 

我試圖重寫明確在rails_admin配置的關聯範圍,但並沒有在所有幫助:

field :role do 
    associated_collection_scope do 
     Proc.new do |scope| 
     scope = scope 
     end 
    end 
    end 

回答

0

我能夠使它通過添加​​3210工作,但這不是真的需要,因爲它使角色顯示在邊欄中。

class Ability 
    include CanCan::Ability 

    def initialize user 
    if user && user.admin? 
     can :access, :rails_admin 
     can :dashboard 
     can :index, Role 
     can :manage, User 
    else 
     cannot :access, :rails_admin 
    end 
    end 
end 
+0

將角色添加到'rails_admin.rb'中的'config.excluded_models'隱藏不需要的索引頁面和導航項目。 – BM5k