我在Rails(5.2)应用程序上使用Pundit。
我有Project
资源和几个嵌套资源(File
,Tag
...)
我需要将嵌套资源的所有操作授权为show?
的{{1}},这同时需要ProjectPolicy
和user
。
project
实现此目标的最佳方法是什么?
我正在尝试做类似的事情
class ProjectPolicy < ApplicationPolicy
def show?
Subscription.where(project: record, user: user).empty?
end
end
如果我可能需要更改政策,那么IMO可以给我带来更大的灵活性。但是,不确定如何传递class FilePolicy < ApplicationPolicy
def new?
ProjectPolicy.new(user, record).show?
end
end
。