Pretty much what I have mentioned in the title. I am using CanCan::Ability in my code to check permissions and abilities. It expects a current_user method to be defined. I am guessing it comes from devise (but not sure), and I wish to override it. Whats the best way to do that?
It's found here in the source code. It's nothing to do with devise, though. The documentation is found above the method and describes overwriting it.
current_user
is implemented by devise in this eval'ed block (which, I believe is called indirectly by the devise_for(:user)
in your config/routes.rb
). If you want to override it, you should be able to define your own current_user
method in your ApplicationController
.
来源:https://stackoverflow.com/questions/12461347/cancanability-where-is-the-current-user-method-defined