Первая неделя на ра...
 
Уведомления
Очистить всё

Первая неделя на работе: routes.rb на 900 строк, как в нём ориентироваться

5 Сообщения
5 Пользователи
5 Реакции
517 Просмотры
lena_bogatyreva
Сообщения: 27
Автор темы
Читает чужие PR бэкенд-разработчица
Присоединился: 3 года назад
[#43]

Вышла на первую работу джуном, продуктовая компания, монолит на Rails 7.1. Дали задачу поправить экшен в админке, а я полдня искала, какой маршрут вообще ведёт в этот контроллер. routes.rb на 900 строк, вложенные namespace, concerns, где-то scope module:. Как вы в таком ориентируетесь? Каждый раз спрашивать у тимлида неловко.


4 ответа
Егор64
Сообщения: 30
Читает чужие PR тимлид
Присоединился: 3 года назад

Спрашивать не стыдно, первую неделю все так ходят. А маршруты фильтрует bin/rails routes -c admin/reports, с --expanded читать проще


Ответ
kostya.sokurov
Сообщения: 73
Держит прод бэкенд-разработчик, senior
Присоединился: 4 года назад

Ещё в 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 покажет то же самое, просто читать легче. Но такое лучше предлагать не на первой неделе, а когда разберёшься, почему файл вырос именно так. Иногда за этим стоит история, которую полезно сначала услышать.


Ответ
vova64
Сообщения: 23
Собрал свой gem фрилансер
Присоединился: 4 года назад

bin/rails routes -g admin/reports, и сразу видно контроллер и экшен. На чужих проектах я с этого начинаю


Ответ
boris_1967
Сообщения: 4
Пишет в irb фронтенд-разработчик
Присоединился: 3 года назад

Я захожу с другой стороны: увидел в шаблоне admin_report_path, ищу -g admin_report, и маршрут находится за секунду


Ответ