Совместное использование политики с вложенными ресурсами - PullRequest
0 голосов
/ 24 октября 2018

Я использую 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.

...