Pundit 如何通过 current_user 来授权方法?

How Pundit passes current_user to authorize method?

Punditauthorize需要3个参数,但是在controller中你只需要传递2个,current_user是自动传递的。 current_user是怎么通过的? 我查看了 Pundit 的代码,但无法弄清楚。

来自pundit readme

The first argument is a user. In your controller, Pundit will call the current_user method to retrieve what to send into this argument

来自 pundit.rb 文件:

def pundit_user
  current_user
end