【发布时间】:2021-07-22 14:28:38
【问题描述】:
我经常使用 cancancan 来检查特定类/实例的权限。
class Ability
include CanCan::Ability
def initialize(user)
can do |action, subject_class|
# Lookup users permission inside of this block.
# action might be :read
# subject_class might be a class like Company.
end
end
end
以上示例适用于user.can?(:read, Company)。
我现在已经为多个类创建了一个权限集。我的应用程序有多个设置,我想将它们分组在AccountingSetting 下,以便我可以通过user.can?(:read, "AccountingSetting") 检查权限。由于AccountingSetting 不是一个实际的模型/类,我将一个字符串传递给该方法。
这不起作用,因为 subject_class 参数返回 String-class 而不是实际的字符串。
cancancan 不支持权限的字符串查找还是我遗漏了什么?
【问题讨论】:
标签: ruby-on-rails ruby cancan cancancan