Active admin 中基于角色的菜单访问

Rolebased menu access in Active admin

我有一个活动的管理应用程序,我尝试在其中对资源实施基于角色的限制。我有许多分配给角色的功能。例如,特征 "create_user" 和 "assign_task" 分配给角色 "manager"。我有一个用于存储功能列表的 table,一个用于存储角色列表的 table 和一个用于存储分配给角色的功能的 table。管理员角色分配给用户数。当用户登录时,根据分配给他的功能,我会尝试隐藏一些 meus。例如:menu if: proc{current_user.can_create_taskr?}, :priority => 6。我遇到的问题是每当我尝试刷新应用程序时,查询每次都是 运行,这很不方便。有没有办法在用户登录后只执行一次这些查询并在别处使用结果

开箱即用的 ActiveAdmin 在每次评估菜单访问时效率相对较低。如果您愿意,可以使用 Rails low level caching,但我的建议是在不得已之前不要担心。如果 SQL 很慢,请务必使用索引。