В моем файле rout.rb настроены следующие маршруты:
Rails.application.routes.draw do
devise_for :users
resources :bookings do
collection do
get :my_bookings
end
end
resources :spaces, only: [:index, :new, :create, :show] do
resources :bookings, only: [:index, :new, :create, :show]
end
resources :bookings do
resources :payments, only: :new
end
root to: 'pages#home'
get 'about', to: 'pages#about'
mount StripeEvent::Engine, at: '/stripe-webhooks'
end
Я повторил resources :bookings
3 раза: дважды, потому что я знаю, что это хорошая практика - избегать вложенных ресурсов более чем уровень и другой для коллекции.
Когда я добавил часть коллекции в конце маршрутов, она была проигнорирована рельсами Rails, и вместо этого она выполняла действие show.
Я прочитал Rails игнорирует маршрут сбора и вместо него выполняет действие show и перемещает часть сбора в конце.
Теперь все работает, но файл маршрутов громоздкий и ресурсы: резервирование дублируется 3 раза , Есть ли способ реорганизовать эти маршруты с меньшим количеством повторений?