2

我使用activeadmin gem http://activeadmin.info/创建了一个管理页面, 我使用cancan 来授权2 种用户的权限,用户管理和图书管理用户。

我的问题是:当书籍管理用户登录到管理页面时,我如何隐藏资源用户? 活跃的管理员

我尝试了类似的方法,但没有用

 menu false  if can? :manage, BookHeader 

或者

 menu false  if authorize! :manage, BookHeader

谢谢你的帮助!

4

2 回答 2

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

于 2012-10-24T08:51:22.123 回答
0

我用这个:对我来说是adminuser的 用户,none admin user的密码

menu label: proc{I18n.t "#{current_user.is_admin? ? 'users':'password'}"}

按照你的例子

menu label: proc{I18n.t "#{current_admin_user.admin? ? 'Accounts' : 'My Account'}"}

会有所帮助

于 2017-08-20T11:47:30.770 回答