Schienen 3: Ich möchte alle in meiner Schienenanwendung definierten Pfade auflisten

144

Ich möchte alle definierten Hilfspfadfunktionen (die aus Routen erstellt werden) in meiner Rails 3-Anwendung auflisten, sofern dies möglich ist.

Vielen Dank,

wael34218
quelle
Öffnen Sie Ihre Konsole und geben Sie Rechenrouten ein
Mohsin Raza

Antworten:

229
rake routes

oder

bundle exec rake routes
house9
quelle
2
Wenn Sie außerdem überprüfen möchten, ob ein bestimmter Pfad vom Router Ihrer App erkannt wird, lesen Sie dies .
XåpplI'-I0llwlg'I -
In einem bestimmten Kontext musste ich verwenden RAILS_ENV=dev /opt/rbenv/shims/bundle rake routes, um diese Arbeit zu machen.
Peter_v
1
rake routesist veraltet; Verwenden Sie rails routesstattdessen: github.com/rails/rails/pull/33660
nekketsuuu
72

Aktualisieren

Ich fand später heraus, dass es eine offizielle Möglichkeit gibt, alle Routen anzuzeigen, indem ich zu http: // localhost: 3000 / Rails / Info / Routen gehe . Offizielle Dokumente: https://guides.rubyonrails.org/routing.html#listing-existing-routes


Es mag zwar spät sein, aber ich liebe die Fehlerseite, auf der alle Routen angezeigt werden. Normalerweise versuche ich, /routesdirekt vom Browser aus auf einen (oder einen falschen) Pfad zu gelangen. Der Rails-Server gibt mir automatisch eine Routing-Fehlerseite sowie alle definierten Routen und Pfade. Das war sehr hilfreich :)

Gehen Sie einfach zu http: // localhost: 3000 / route Geben Sie hier die Bildbeschreibung ein

Anwar
quelle
1
Dies funktioniert nur in der Entwicklungsumgebung.
Dennis
6
Dies ist in Rails 4 gebündelt, aber die Frage fragt nach Rails 3. Sie müssen das Sextant-Juwel installieren, um dies in 3.
elc
7

Wenn Sie http://0.0.0.0:3000/routeseine Rails 5-API-App (dh nur JSON-orientiert) ausprobieren, wird (ab Rails Beta 3) zurückgegeben

{"status":404,"error":"Not Found","exception":"#> 
<ActionController::RoutingError:...

Es wird jedoch http://0.0.0.0:3000/rails/info/routeseine schöne, einfache HTML-Seite mit Routen gerendert.

Daniel Huffman
quelle
7
rake routes | grep <specific resource name>

Zeigt ressourcenspezifische Routen an, wenn es sich um eine ziemlich lange Liste von Routen handelt.

Wings2fly
quelle