Verwenden Sie rescue_from in Ihrer ApplicationController
, um ActionController::RoutingError
zu retten und an die Startseite weiterzuleiten wenn es passiert.
Dies wird derzeit in Rails 3 nicht funktionieren. Ein Ticket wurde abgelegt.
Auf Rails 4 +
Bearbeiten Sie Ihre routes.rb
-Datei, indem Sie eine get "*path", to: redirect('/')
-Zeile direkt über der letzten end
hinzufügen, wie von Benutzer @ Rails: Leite alle unbekannten Routen zu root_url um
Wenn Sie rails 3 verwenden ,
Verwenden Sie die folgende Lösung
Fügen Sie in Ihrer routes.rb
die folgende Zeile am Ende der Datei hinzu:
Übereinstimmung "* Pfad" = & gt; "controller_name # action_name", über: [: get,: post]
Und fügen Sie in Ihrem Controller
hinzu %Vor%Wenn Sie Schienen 4 verwenden
Schreiben Sie diese Zeile in Ihre routes.rb
Hier ist etwas, was ich mit dem Versuch gefunden habe, eine universelle Catch-All-Lösung für das Routing von Ausnahmen zu finden. Es verarbeitet die beliebtesten Inhaltstypen.
Das ErrorsController
ist so konzipiert, dass es universeller ist, um alle Arten von Fehlern zu behandeln.
Es wird empfohlen, eine eigene Ansicht für den 404-Fehler in app/views/errors/404.html
zu erstellen.
Tags und Links exception-handling ruby-on-rails routing redirect routes