Leiten Sie alle Routing-Fehler zur Root-URL der Anwendung um

8

Zum Beispiel eingeben: localhost:3000/absurd-non-existing-route Wie bekomme ich ungültige Routen, um auf die Hauptseite der Anwendung in Rails zu zeigen?

    
fenec 07.06.2010, 03:26
quelle

5 Antworten

3

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.

    
x1a4 07.06.2010, 03:30
quelle
5

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

    
Epigene 18.08.2014 12:58
quelle
1

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

%Vor%     
indb 17.02.2016 09:24
quelle
1

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.

routes.rb

%Vor%

FehlerController

%Vor%

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.

    
Paweł Gościcki 18.04.2017 21:10
quelle