Я прочитал документы Rails для Routing, Restful Resources и UrlHelper и до сих пор не понимает лучших практик создания сложных/вложенных маршрутов. Пример, над которым я сейчас работаю, - это события, которые имеют has_many rsvps. Таким образом, пользователь смотрит через список событий, и щелчки регистр, и проходит через процесс регистрации, и т.д. Я хочу URLs выглядеть следующим образом:Как настроить RESTful Routes in Rails (основы)
/events
/events/123 # possible without title, like SO
/events/123/my-event-title # canonical version
/events/my-category/123/my-event-title # also possible like this
/events/123/my-event-title/registration/new
... and all the restful nested resouces.
Вопрос в том, как выполнить это с минимальным количество кода?
Вот что я в настоящее время:
map.resources :events do |event|
event.resources :rsvps, :as => "registration"
end
Это заставляет меня это:
/events/123/registration
Какой самый лучший способ для достижения 2 других маршрутов?
/events/123/my-event-title # canonical version
/events/my-category/123/my-event-title # also possible like this
Где my-category
это просто массив из 10 возможных типов событие может быть.
Я изменил Event#to_param
вернуться "#{self.id.to_s}-#{self.title.parameterize}"
, но я предпочел бы иметь /id/title
со всей канонической Несс
ОК, круто, это в основном все, что мне было интересно: «это нормально, если не использовать map.resources?». Спасибо, что подтвердили это. Я сделаю то, что вы описали :). –