在 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 然后使用您的授权适配器只向管理员显示相关记录,他们只能编辑或删除这些记录。
目前,我正在做一个项目,使用 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 然后使用您的授权适配器只向管理员显示相关记录,他们只能编辑或删除这些记录。