Дополнительные параметры в Rails 3 маршрутах и ​​ресурсах - PullRequest
0 голосов
/ 14 сентября 2010

Новые маршруты rails хороши во многих аспектах, но я ищу лучший способ добиться кэширования страниц со страницами и форматами, как это было в rails 2.x, и у меня не хватает

У меня естьмного возможных желаемых маршрутов основных формул:

/(bazes/<baz id>/)(foos/<foo id>/)bars/page/<page num>/<format>

Примеры маршрутов:

/bars/page/1/xml
/foos/1/bars/page/2/html
/bazes/3/foos/1/bars/page/1/json
/bazes/3/bars/page/2/xml

На английском языке:

Give me all bars, page 1, formatted xml
Give me all bars that belong to foo 1, page 2, formatted html
Give me all bars that belong to baz 3 AND foo 1, page 1, formatted json
Give me all bars that belong to baz 3, page 2, formatted xml

Я имел обыкновение делать этос кучей именованных маршрутов:

map.baz_foo_bars '/bazes/:baz_id/foos/:foo_id/bars/page/:page/:format', :controller => 'bars', :action => 'formatted_bars'

, но в Rails 3 это кажется неправильным, и я думаю, что мне не хватает чего-то, что может эффективно решить мои проблемы с маршрутизацией.Как я могу достичь этих шаблонов маршрутизации с маршрутизацией Rails 3?

1 Ответ

1 голос
/ 15 сентября 2010

Мне удалось получить его с помощью одного оператора сопоставления

match "(/bazess/:baz_id)(/foos/:foo_id)/bars(/page/:page)(/:format)" => "bars#index", :as => :bars
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...