У меня есть базовый контроллер с именованными действиями, представляющими статические страницы:
class YourTripController < ApplicationController
def when_to_visit
end
def booking_a_trip
end
...
end
Я хочу, чтобы именованный маршрут имел доступ к таким действиям, как:
your_trip_path(:when_to_visit)
your_trip_path(:booking_a_trip)
Кажется достаточно простым, верно?Но я также хочу, чтобы в URL-адресах использовались тире, а не подчеркивания для сгенерированных путей:
example.com / your-trip / when-to-visit example.com/your-trip/booking-a-trip
Учитывая эти ограничения, как выглядят мои маршруты?
Я перепробовал много подходов, и это самый близкий к этому моменту:
controller :your_trip, :path => 'your-trip', :as => :your_trip do
get "when_to_visit", :path => 'when-to-visit'
get "booking_a_trip", :path => 'booking-a-trip'
end
Это правильно направляет меня к правильному действию, но использование помощника URL, такого как your_trip_path (: when_to_visit), приводит к:
Нет совпадений маршрута {: action => "when_to_visit",: controller => "your_trip"}