在 rails Ruby 中自定义 gem `active_admin`

Custom gem `active_admin` in Ruby On rails

目前,我正在做一个项目,使用 gem active_admin 作为站点管理员。现在我收到这样的请求:

在管理页面,会有一个新的用户类型super_admin,这个用户可以创建很多公司,每个公司都会有一个经理(也是super_admin创建的)。

A公司的经理将登录管理站点(使用步骤1创建的帐户),您只能对A公司的对象进行操作,类似于B,C,D ...

我不知道如何用 gem active_admin 来实现这个逻辑,你能给我一些建议吗? 27=]?

您可以使用 ActiveAdmin 的 authorization adapter 来实现这一点。

通过定义您自己的授权适配器,您可以检查您的 authorized? 方法以查看 subject(正在访问的记录)是否属于 current_user' s 公司,只有 return true 如果用户有访问权限。这样,您还可以限制某些操作仅对超级管理员可用。

AcitveAdmin 然后使用您的授权适配器只向管理员显示相关记录,他们只能编辑或删除这些记录。