如何在activeadmin gem中隐藏资源

duy*_*hoa 2 cancan ruby-on-rails-3 activeadmin

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

我的问题是:当图书管理用户登录管理页面时,我如何隐藏资源用户? 主动管理员

我试过这样的东西,但它没有用

 menu false  if can? :manage, BookHeader 
Run Code Online (Sandbox Code Playgroud)

要么

 menu false  if authorize! :manage, BookHeader
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

Fiv*_*ell 12

您必须动态地使用proc进行构建菜单

例子

动态标签

menu :label => proc{current_admin_user.admin? ? "Accounts" : "My Account"}
Run Code Online (Sandbox Code Playgroud)

显示/隐藏

 menu :if => proc{ can?(:manage, BookHeader ) }   
Run Code Online (Sandbox Code Playgroud)

有关集成AA和CanCan的更多信息,请阅读本文

https://github.com/gregbell/active_admin/wiki/How-to-work-with-cancan