-
Notifications
You must be signed in to change notification settings - Fork 60
Open
Description
I am trying to use Pundit scopes and I am unable to get jsonapi-authorization to return a 404 when the user does not have a record.
Am I doing something wrong? I've tried changing the code to have the scope return scope.where(owner: user)
without the #all
call, but that still does not work.
Example Code
class AccountPolicy < ApplicationPolicy
class Scope < Scope
def resolve
scope.where(owner: user).all
end
end
def show?
record.exists?
end
end
Stacktrace
Internal Server Error: unable to find policy of nil /Users/justinsmestad/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/pundit-1.1.0/lib/pundit/policy_finder.rb:58:in `policy!'
/Users/justinsmestad/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/pundit-1.1.0/lib/pundit.rb:112:in `policy!'
/Users/justinsmestad/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/pundit-1.1.0/lib/pundit.rb:62:in `authorize'
/Users/justinsmestad/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/jsonapi-authorization-1.0.0.alpha6/lib/jsonapi/authorization/default_pundit_authorizer.rb:40:in `show'
/Users/justinsmestad/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/jsonapi-authorization-1.0.0.alpha6/lib/jsonapi/authorization/authorizing_processor.rb:61:in `authorize_show'
# ....