In the invitation mail I can see method that generates acceptation link:
accept_invitation_url(@resource, invitation_token: @token)
and I'd like to know how to edit(or override) this method so I can put there my custom route. I have seen some similar threads, but most of them are outdated or don't provide any working solutions.
Can someone explain me how does it work?
You can customize mailer view with your own stuff
Use this for generate devise invitable views
rails generate devise_invitable:viewsFor more information about view check this link.And customize
app/views/devise/mailer/invitation_instruction.html.erbto get your stuff working. In this file you can change this method to<p><%= link_to 'Text Here', "YOUR_OWN_ROUTE_HERE?invitation_token=#{@token}" %></p>by doing this you can send whatever link you like and then you have to write a route as well for it which calls the default method of devise.UPDATE
When you invite user it will call create action of Users::InvitationsController and you can overide the controller also, refere Customize devise invitable Controller