Rails 2 Trailing Route Параметр - PullRequest
0 голосов
/ 27 июля 2010

Я создаю веб-сайт для статьи / блога, где любая статья может отображаться в последовательности URL-адресов.

/section/article
/section/page/article
/section/page/page2/article

Это работает, но что, если я хочу, чтобы номер страницы для этой статьи (/ page / 123) был привязан к этим URL-адресам

/section/article/page/123/
/section/page/article/page/123
/section/page/page2/article/page/123

Это будет означать, что мне придется создавать определенный маршрут для каждого отдельного URL?

/:section/:page/:sub_page/:article/page/:page

Это будет означать, что я буду создавать десятки параметров маршрутизации URL.

В любом случае есть ли в rails сообщение о том, что все URL могут иметь суффикс / page / NUMBER в конце URL-адреса и по-прежнему маршрутизироваться нормально (то есть присваивают NUMBER параметру и продолжают нормально переходить на страницу)? 1012 *

Ответы [ 2 ]

1 голос
/ 28 июля 2010

Маршрутизация, описанная в http://guides.rubyonrails.org/routing.html#route-globbing,, может работать в этой ситуации. Например, ваш маршрут может выглядеть так: map.connect '/:section/*page_subpage_path/page/:number', :controller => 'articles', :action => 'show'

Этот точный код может работать не так, как задумывалось, но этот метод может быть хорошим способом попробовать. Удачи:)

0 голосов
/ 27 июля 2010

Если вы хотите создать маршруты, настроенные так, как обычно, вам нужно создать большое количество маршрутов для их размещения. Общий формат - / resource /: id при использовании map.resource, все, что не указано, оставлено на ваше усмотрение.

Учитывая, что файл Rails rout.rb является исполняемым ruby, вы часто можете программно определять свои маршруты, повторяя шаблоны или комбинируя массивы, если это необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...