Search code examples
ruby-on-railsrubydevisepundit

Pundit defining current_user


I am building a rails API and I'm using pundit for authorizations to the API. I am trying to define current_user for pundit with this method:

def pundit_user
  User.find_by_other_means
end

I tried implementing it as a private method in my API base controller but it gives me this error:

"exception": "#<NoMethodError: undefined method `find_by_other_means' for #<Class:0x00007f9d25463768>\nDid you mean?  find_or_create_by>"

Then I tried implementing it on my application controller and it gives me the following error:

"exception": "#<NameError: undefined local variable or method `current_user' for #<Api::V1::NewsController:0x00007f9d2516b038>>"

How can I define current_user in pundit?


Solution

  • You can define your own current_user in ApplicationController, or use pundit_user - as mentioned in the documentation