If you are working with Rails 3 or 4 applications, you might find this helpful.

Most of us know, how cool $rake routes is, but those of you who work with larger applications are probably annoyed with slow rails app loading times, which is needed for rake tasks. Put this code in your ~/.irbrc file for a lightweight, application-independent solution to view and filter routes:

if defined? Rails if Rails::VERSION::STRING >= "4" # returns an array of routes in Rails 4 def formatted_routes r = Rails.application.routes.routes i = ActionDispatch::Routing::RoutesInspector.new(r) f = ActionDispatch::Routing::ConsoleFormatter.new i.format(f).split("

") end else require 'rails/application/route_inspector' # returns an array of routes in Rails 3 def formatted_routes inspector = Rails::Application::RouteInspector.new inspector.format(Rails.application.routes.routes) end end # filter and print out the routes def routes(filter = nil) Rails.application.reload_routes! formatted = formatted_routes if filter formatted.select!{ |r| r.match(filter) } end puts formatted end end

Raw gist for easy copying

Usage:

> routes => prints all routes > routes /GET.*user/i => prints routes matching a given regex > routes "user" => matches strings as well

Alternative solutions: zeus, sextant