This is such a heavy topic. It first starts with good code coverage! If your application has little or no code coverage, then there is no confidence that things are still working. Before making any major changes, whether it is refactoring or updating to a new Rails version, always make sure that you have adequate coverage.
It is a great topic to cover, but it will also greatly depend on the gems that are used for the application. There are many gems out there that are slow to be maintained and they do not update for a later Rails support until a month or so after the Rails version has been released.
However, for a standard application with minimal gems used, we can definitely look at my process for updating the Rails version. I have a few tricks which may help mitigate headaches.