如何在activeadmin gem中隐藏资源

时间:2012-10-24 00:39:13

标签: ruby-on-rails-3 activeadmin cancan

我使用activeadmin gem http://activeadmin.info/创建管理页面 我使用cancan为2种用户,用户管理和图书管理用户授权。

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

我尝试了类似的东西,但它不起作用

 menu false  if can? :manage, BookHeader 

 menu false  if authorize! :manage, BookHeader

感谢您的帮助!

2 个答案:

答案 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'}"}

会有所帮助