Rails 3: я хочу перечислить все пути, определенные в моем приложении rails


144

Я хочу перечислить все определенные функции вспомогательного пути (которые создаются из маршрутов) в моем приложении rails 3, если это возможно.

Благодарность,


откройте консоль и введите rake routes
Mohsin Raza

Ответы:


230
rake routes

или

bundle exec rake routes

2
Кроме того, если вы хотите проверить, распознается ли данный путь маршрутизатором вашего приложения, см. Это .
XåpplI'-I0llwlg'I -

В конкретном контексте мне пришлось использовать RAILS_ENV=dev /opt/rbenv/shims/bundle rake routesдля этой работы.
peter_v

1
rake routesне рекомендуется; используйте rails routesвместо этого: github.com/rails/rails/pull/33660
nekketsuuu

77

Обновить

Позже я обнаружил, что есть официальный способ просмотреть все маршруты, перейдя по адресу http: // localhost: 3000 / rails / info / routes . Официальные документы: https://guides.rubyonrails.org/routing.html#listing-existing-routes


Хотя, может быть, уже поздно, но мне нравится страница ошибок, на которой отображаются все маршруты. Обычно я пытаюсь перейти /routes(или какой-то фиктивный) путь прямо из браузера. Сервер Rails автоматически дает мне страницу с ошибкой маршрутизации, а также все определенные маршруты и пути. Это было очень полезно :)

Итак, просто перейдите по адресу http: // localhost: 3000 / routes введите описание изображения здесь


1
Чтобы заявить очевидное, это работает только в среде разработки.
Деннис

6
Это входит в состав Rails 4, но вопрос касается Rails 3. Вам нужно установить гем
Sextant,


7

Попытка http://0.0.0.0:3000/routesприложения Rails 5 API (т.е. ориентированного только на JSON) вернет (начиная с бета-версии 3 Rails)

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

Однако http://0.0.0.0:3000/rails/info/routesбудет отображаться красивая простая HTML-страница с маршрутами.


7
rake routes | grep <specific resource name>

отображает маршруты для конкретных ресурсов, если это довольно длинный список маршрутов.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.