【问题标题】:ActiveAdmin and CanCanActiveAdmin 和 CanCan
【发布时间】:2012-07-30 19:20:40
【问题描述】:

我正在使用 Active Admin 中的 AdminUsers 中的角色,并使用 CanCan 来定义跨不同资源的访问。

它在限制访问方面运行良好,但我在隐藏基于角色的菜单时遇到了麻烦。

根据 ActiveAdmin 文档,以下应该可以工作:

menu :if => proc{ can?(:manage, AdminUser) }     

在我的能力.rb 模型文件中,我有

case user.role      
  when "admin"
can :manage, :all
cannot :manage, Company
  when "manager"
    can :manage, Program
can :manage, Client

我什至在 manager 下添加了 cannot :manage, AdminUser 以明确说明它。

我试图在以“经理”角色登录时隐藏 AdminUser 菜单。目前,它仍在向该用户显示它,但如果我点击它,它会正确地告诉我我没有被授权。

【问题讨论】:

    标签: ruby-on-rails activeadmin cancan


    【解决方案1】:

    我想通了。

    我有两个菜单行,如下所示: menu :if => proc{ can?(:manage, AdminUser) } menu :label => "用户"

    第二行弄乱了第一行,我修改为:

     menu :if => proc{ can?(:manage, AdminUser) }, :label => "Users"
    

    它工作正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多