隐藏ActiveAdmin菜单但不禁用它

时间:2013-04-15 06:00:37

标签: ruby-on-rails activeadmin

在我的AA应用程序中,我使用以下说明隐藏我不希望非管理员用户看到的菜单:

menu :if => proc{ current_user.is_admin? }

但这并不妨碍这些用户在网址中输入/ admin / users并访问用户菜单内容。防止非管理员用户访问隐藏菜单的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用cancan执行此操作,也可以像这样编写自己的过滤器,

controller do
  before_filter :check_admin
  def check_admin
    unless current_user.is_admin?
     redirect_to "/", :error => "Access denied"
    end
  end
end

对于cancan gem,你需要定义能力文件然后你可以使用

 controller.authorize_resource
由activeadmin提供的

方法。