Ruby on rails 3.2 无法为多个项目选择选项

Ruby on rails 3.2 无法为多个项目选择选项,ruby-on-rails-3.2,cancan,rails-admin,Ruby On Rails 3.2,Cancan,Rails Admin,我正在使用rails_admin、Desive和cancan 用户有许多角色 我设置了一个管理员页面,其中具有管理员角色的用户可以管理用户。但是,管理员无法管理角色 创建或编辑用户时,不会列出角色 如何允许管理员向用户添加角色,而不允许他们编辑或创建角色 这是我的能力档案 class Ability include CanCan::Ability def initialize user if user && user.admin? can :acce

我正在使用rails_admin、Desive和cancan

用户有许多角色

我设置了一个管理员页面,其中具有管理员角色的用户可以管理用户。但是,管理员无法管理角色

创建或编辑用户时,不会列出角色

如何允许管理员向用户添加角色,而不允许他们编辑或创建角色

这是我的能力档案

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 config中显式重写关联作用域,但毫无帮助:

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

我可以通过添加
can:index,Role
使其工作,但这并不是真正想要的,因为它会使角色显示在侧边栏中

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

将角色添加到
rails\u admin.rb
中的
config.excluded\u models
隐藏了不需要的索引页和导航项。