繁体   English   中英

在Active Admin中查看菜单项的显示页面

[英]View show page for menu item in Active Admin

我想根据查看用户的权限动态更改菜单。 我希望超级管理员用户可以访问正常的Resource操作(索引,显示,更新等)。 因此,当管理员单击菜单项时,它将带他们到该资源的索引。 我想将普通管理员用户限制为仅查看特定的显示页面。

超级管理员的菜单路径为:/ admin / resource
普通管理员的菜单路径为:/ admin / resource / id

我还想将普通管理员的访问权限限制在索引视图或他们无权访问的其他资源上。 我已经能够实现这两个目标,但是还不能将菜单项映射到特定的显示页面。 我知道我可以创建一个自定义页面和视图,但是我真的很想在超级管理员和普通管理员之间共享用于显示和编辑页面的自定义DSL。

任何人都知道如何实现这一目标。

好的,所以我想出了一种获得想要的方法的方法。 我不确定是否能完全满足我的要求。 (这意味着创建映射到特定资源的自定义菜单项会很好)

我只是改写了索引控制器操作以重定向到特定的显示页面。 因为超级管理员需要访问原始的商店资源,所以我不得不用:as作为别名。

ActiveAdmin.register Store, :as => 'My Store' do
  menu :if => proc{ !current_user.is_admin? },
       :label => 'My Store'

  actions :show, :edit, :update

  controller do
    def index
      redirect_to(admin_my_store_url(current_user.store))
    end
  end
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM