代码之家  ›  专栏  ›  技术社区  ›  Leantraxxx

活动管理员+cancan。如何删除保持cancan功能的标头链接

  •  0
  • Leantraxxx  · 技术社区  · 11 年前

    我正在使用 活动管理员 具有 CanCan宝石 我有下一种情况:

    • 两个角色: 管理 , 另外 .
    • 管理员的标题有三个链接: 链接1 |链接2 |链接3
    • 链接3表示 视频 资源
    • 这个 管理用户 可以看到链接1、2和3
    • 这个 其他用户 可以看到链接1和2,但是 不是 3.

    所以,为了 链接3 消失我可以喝一杯 abilities.rb文件 具有:

    can :manage, Video #for admin users
    

    什么都没有 另外 用户。这将使 链接3 消失 但是,在我的应用程序的其他部分,我希望 另外 用户能够“阅读视频”。当我添加此功能时,链接将再次显示在标题中。

    问题是:我怎么能 保护 我的:

    can :read, Video #for other users
    

    然后消失 链接3 同时

    2 回复  |  直到 11 年前
        1
  •  1
  •   seanlinsley    11 年前

    您应该能够覆盖那些具有CanCan访问权限但不应该看到菜单项的人的默认菜单可见性:

    ActiveAdmin.register Video do
      menu false if current_user.other?
    
      # ...
    end
    
        2
  •  1
  •   Leantraxxx    11 年前
    ActiveAdmin.register Video do
      menu :if => proc { !current_user.other? }
    
      # ...
    end