我使用activeadmin gem http://activeadmin.info/创建管理页面 我使用cancan为2种用户,用户管理和图书管理用户授权。
我的问题是:当图书管理用户登录管理页面时,如何隐藏资源用户?
我尝试了类似的东西,但它不起作用
menu false if can? :manage, BookHeader
或
menu false if authorize! :manage, BookHeader
感谢您的帮助!
答案 0 :(得分:12)
你必须动态地使用proc进行构建菜单
示例
动态标签
menu :label => proc{current_admin_user.admin? ? "Accounts" : "My Account"}
显示/隐藏
menu :if => proc{ can?(:manage, BookHeader ) }
有关集成AA和CanCan的更多信息,请阅读本文
https://github.com/gregbell/active_admin/wiki/How-to-work-with-cancan
答案 1 :(得分:0)
我用这个: 对我来说,管理员是用户, 没有管理员用户的密码
menu label: proc{I18n.t "#{current_user.is_admin? ? 'users':'password'}"}
按照你的例子
menu label: proc{I18n.t "#{current_admin_user.admin? ? 'Accounts' : 'My Account'}"}
会有所帮助