gpt4 book ai didi

ruby-on-rails - 如何在 ActiveAdmin 自定义页面上检查 cancan 权限?

转载 作者:数据小太阳 更新时间:2023-10-29 07:25:29 36 4
gpt4 key购买 nike

我有以下能力:

can :manage, ActiveAdmin::Page, name: 'My Page'

它工作正常,但我想检查用户是否有能力在不同的页面中管理此 ActiveAdmin::Page。所以,当我使用以下内容时:

can? :manage, ActiveAdmin::Page, name: 'My Page'

它为任何页面返回 true,即使它不存在!

最佳答案

代码

can? :manage, ActiveAdmin::Page, name: 'My Page'

检查当前用户是否可以管理 ActiveAdmin::Page 的实例,其 name 属性等于 My Page。这正是您在能力文件中陈述的条件,这就是为什么它总是返回 true

如果您想知道用户是否可以访问特定页面(这是我认为您正在尝试做的),您应该问“我可以管理这个页面吗?”而不是“我可以管理名称为我的页面的页面吗?”。前者是指特定页面,后者是指具有某种特征的页面。

要询问CanCan当前用户是否可以访问特定页面,只需询问:

can? :manage, my_specific_page

my_specific_page 需要是 ActiveAdmin::Page 的一个实例。

关于ruby-on-rails - 如何在 ActiveAdmin 自定义页面上检查 cancan 权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41850126/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com