我有权威政策类,它在里面声明了另一个类:
class PaymentPolicy < ApplicationPolicy
class Scope < Scope
def resolve
return scope.all if user.root?
scope.where(user: user)
end
end
end
现在我想Scope
在另一个地方使用这个相同的内部类。一种方法是在超类中定义它并覆盖,但要做到这一点,我必须创建另一个类class NewClass < ApplicationPolicy
并从它继承PaymentPolicy
。但是我喜欢ActiveSupport::Concern
并且不知道如何将类定义放在关注模块中。这个
module UserAllowed
extend ActiveSupport::Concern
included do
class Scope < Scope
def resolve
return scope.all if user.root?
scope.where(user: user)
end
end
end
end
不起作用。这都不是:
module UserAllowed
extend ActiveSupport::Concern
class Scope < Scope
def resolve
return scope.all if user.root?
scope.where(user: user
end
end
end
如何将嵌套类定义放在关注模块中?