wael34218
wael34218

Reputation: 4930

Rails 3: I want to list all paths defined in my rails application

I want to list all defined helper path functions (that are created from routes) in my rails 3 application, if that is possible.

Thanks,

Upvotes: 182

Views: 173112

Answers (6)

house9
house9

Reputation: 20614

new solution

rails routes

deprecated

rake routes

or

bundle exec rake routes

Upvotes: 273

Wings2fly
Wings2fly

Reputation: 917

rails routes | grep <specific resource name>

displays resource specific routes, if it is a pretty long list of routes.

Upvotes: 13

Al Duncanson
Al Duncanson

Reputation: 804

CLI

updated for version 6

To list all existing routes you'll want to run the command:

bundle exec rails routes

bundle exec will

Execute a command in the context of the bundle

and rails routes will

list all of your defined routes

Example

If you have your resource route declared like so:

resource :credential, only: [:new, :create, :destroy]

Then it's helpful to pipe the output so you can grep for your specific resource.

For example: bundle exec rails routes grep example

Upvotes: 7

Anwar
Anwar

Reputation: 1805

Update

I later found that, there is an official way to see all the routes, by going to http://localhost:3000/rails/info/routes. Official docs: https://guides.rubyonrails.org/routing.html#listing-existing-routes


Though, it may be late, But I love the error page which displays all the routes. I usually try to go at /routes (or some bogus) path directly from the browser. Rails server automatically gives me a routing error page as well as all the routes and paths defined. That was very helpful :)

So, Just go to http://localhost:3000/routes enter image description here

Upvotes: 101

gayavat
gayavat

Reputation: 19398

One more solution is

Rails.application.routes.routes

http://hackingoff.com/blog/generate-rails-sitemap-from-routes/

Upvotes: 38

Daniel Huffman
Daniel Huffman

Reputation: 101

Trying http://0.0.0.0:3000/routes on a Rails 5 API app (i.e.: JSON-only oriented) will (as of Rails beta 3) return

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

However, http://0.0.0.0:3000/rails/info/routes will render a nice, simple HTML page with routes.

Upvotes: 10

Related Questions