Значение переменной области вместе с вспомогательными рельсами URL

В моем route.rb я настроил маршруты как:

scope "/(:city)", constraints: {city: /ny|dc/} do
    resources :bookings do
        collection do
            get 'checkout'
            ...
end

Я хочу, чтобы мой URL был /ny/bookings/checkout, Если я жестко закодировал его в моем контроллере, он работает нормально (redirect_to '/ny/bookings/checkout'). Но я хочу использовать URL-помощники, так как думаю, что в будущем ими будет легче управлять, чем во многих местах. Как я могу передать city область вместе с помощником, чтобы получить правильный URL? Значение city хранится в сеансе.

С помощью redirect_to checkout_bookings(session[:city]) генерирует URL /bookings/checkout?city=ny

1 ответ

Решение
redirect_to checkout_bookings_path(city: 'ny')
# => "/ny/bookings/checkout"
Другие вопросы по тегам