Значение переменной области вместе с вспомогательными рельсами 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"