Я начал исследовать решение, данное jvnill и найти в документации он заявил, что RouteInspector should not be used. По какой причине я не знаю, но я решил посмотреть на код и попробовать и получить более полезный вывод, а не просто строки. Я использовал код jvnill в качестве отправной точки.
all_routes = Rails.application.routes.routes
routes = all_routes.routes.collect do | route |
reqs = route.requirements
controller = reqs[:controller] || ':controller'
action = reqs[:action] || ':action'
constraints = reqs.except(:controller, :action)
verb = route.verb.source.gsub(/[$^]/, '')
{name: route.name.to_s, verb: verb, path: route.path.spec.to_s, reqs: reqs}
end
routes.reject! { |r| r[:path].starts_with?("/rails/info/properties") || r[:path] == "#{Rails.application.config.assets.prefix}" }
routes
затем содержит хэш, содержащий имя маршрута, пути и контроллера и действия.
+1 Я ищу этот вопрос с правильным ответом. – Vinay