Вышла на первую работу джуном, продуктовая компания, монолит на Rails 7.1. Дали задачу поправить экшен в админке, а я полдня искала, какой маршрут вообще ведёт в этот контроллер. routes.rb на 900 строк, вложенные namespace, concerns, где-то scope module:. Как вы в таком ориентируетесь? Каждый раз спрашивать у тимлида неловко.
Спрашивать не стыдно, первую неделю все так ходят. А маршруты фильтрует bin/rails routes -c admin/reports, с --expanded читать проще
Ещё в development можно открыть /rails/info/routes, там поиск прямо в браузере. А если файл на 900 строк, это повод когда-нибудь предложить разнести его. С Rails 6.1 есть draw:
# config/routes.rb
Rails.application.routes.draw do
draw :admin
draw :api
resources :orders, only: %i[index show]
root "home#index"
end
# config/routes/admin.rb
namespace :admin do
resources :users
resources :reports, only: %i[index show]
end
Файлы лежат в config/routes/, каждый про свою часть. Сами маршруты не меняются, bin/rails routes покажет то же самое, просто читать легче. Но такое лучше предлагать не на первой неделе, а когда разберёшься, почему файл вырос именно так. Иногда за этим стоит история, которую полезно сначала услышать.
bin/rails routes -g admin/reports, и сразу видно контроллер и экшен. На чужих проектах я с этого начинаю
Я захожу с другой стороны: увидел в шаблоне admin_report_path, ищу -g admin_report, и маршрут находится за секунду