Ich weiß, das ist eine alte Frage, aber ich dachte, ich würde trotzdem eine Antwort posten.
Ich vermute, Sie haben eine Route ähnlich wie diese am Ende Ihrer routes.rb Datei:
match '/:controller(/:action(/:id))'
Das ist eine ‚alle fangen‘ Route. Der Rails-Code fügt die Mailer-Preview-Routen an das Ende der Routen an, so dass sie aufgrund der Route "Catch all" nie erreicht werden.
Es klingt wie die 'alle fangen' Route kann in Rails 5.0 zurückgezogen werden? Es ist wahrscheinlich eine gute Idee, Ihre Routen zu überprüfen, so dass Sie kein "alles fangen" benötigen. Hier ist ein Link zu dem Problem, wo jemand erwähnt, die "alle fangen" wird irgendwann zurückgezogen: https://github.com/rails/rails/issues/15600
Also, hier ist die Lösung. Benutzung auf eigene Gefahr!
Fügen Sie die Mailer-Routen vor Ihrem 'alle fangen' ein.
Das wird Ihren Mailern ermöglichen zu arbeiten und Ihre 'alle fangen' wird weiter funktionieren. Nun, das ist eine vollständige hack, die nur verwendet werden sollte, bis Sie in der Lage sind, das Root-Problem zu beheben, das die Notwendigkeit für die "alle fangen" Route beseitigt.
Ich fand das folgende in der Problemliste für Schienen, die aussieht, wie angenommen worden ist und vereinigt worden ist. Ich bin mir nicht sicher, in welcher Version es ist, aber es sieht so aus, als hätten sie den Mailer-Vorschau-Code aktualisiert, um die Routen voranzustellen, anstatt sie anzuhängen.
https://github.com/rails/rails/pull/17896/files
Viel Glück!