Я использую Pundit в приложении Rails (5.2).У меня есть ресурс Project
с несколькими вложенными (File
, Tag
...)
Мне нужно авторизовать все действия для вложенных ресурсов как show?
из ProjectPolicy
что требует как user
, так и project
.
class ProjectPolicy < ApplicationPolicy
def show?
Subscription.where(project: record, user: user).empty?
end
end
Каков наилучший способ достичь этого?
Я пытаюсь сделать что-то вроде
class FilePolicy < ApplicationPolicy
def new?
ProjectPolicy.new(user, record).show?
end
end
Что ИМО может дать мне для гибкости в будущем, если мне может понадобиться изменить политику.Однако не уверен, как передать project
in.