Following the confirm link in the email that gets sent for a user signup gives this error:
uninitialized constant Confirmation
NameError in Devise::ConfirmationsController#show
But if I turn off Cancancan by removing load_and_authorize_resource in the ApplicationController, the error doesn't happen and the user can successfully follow the confirm link.
I've tried adding skip_load_and_authorize_resource in an overrided Devise controller for the Confirmations-- Users::ConfirmationsController < Devise::ConfirmationsController.

The possibilities according to your explanation are:
uninitialized constant Confirmationmight be that it is trying to find out the model associated with this controller using the controller name and the result it gets isConfirmationbut there is no model with that name.skip_load_and_authorize_resourcemight not work until you have theshowaction in your overrided controller itself (adding a before action on child class should not work on parent class I think)I am not sure if this will work or not but you can try something like this and see in your
ApplicationController:So this will skip that
before_actionfor all devise controllers.