问题描述
我有rails admin gem,可以查看我的应用程序的用户友好型数据库。在这个数据库中,我有很多库,我想知道是否有一种方法,只有某些管理员才能访问某些库。 例如,具有电子邮件library123@admin.com的管理员用户只能在rails admin数据库中查看来自库123的详细信息,因此该管理员只能访问URL。 https://my-app.com/admin/library/35而非https://my-app.com/admin/library或 https://my-app.com/admin。
我使用devise向Rails管理员进行身份验证,并且不使用任何gem进行授权。
我当时想向用户添加与库相关的列,以了解每个用户属于哪个库,但是,我一直在想如何对Rails管理员说只允许查看该用户所属的库
解决方法
假设您已经在用户模型中实现了#admin?
(或类似功能):
authenticate :user,->(user) { user.admin? } do
# mount your restricted routes
end