Рекурсивные маршруты в Rails - PullRequest
11 голосов
/ 01 марта 2010

Возможно ли создать рекурсивный маршрут в Rails?

У меня есть приложение, которое позволяет администратору создавать страницы. Модель страницы является вложенным множеством, поэтому каждая страница имеет parent_id, поэтому страницы структурированы в виде деревьев. Модель страницы также использует плагин Friendly ID для предоставления слагов для каждой страницы.

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

Я хочу что-то вроде:

http://example.com/page/page/page/page ... и т. Д.

Теперь, очевидно, я могу создать вложенную карту, скажем, с 10 гнездами, и надеюсь, что ни один сайт не превысит этот предел, но мне любопытно, есть ли другой способ ...

1 Ответ

12 голосов
/ 01 марта 2010

Вы можете отобразить начальный маршрут (/ страницу) на контроллер, установив « globbing » для всех параметров трейлинга.

map.connect '/:page/*pages', :controller => 'pages', :action => 'show' 

params [: pages] теперь будет содержать массив параметров страницы (соответствует столько конечных параметров, сколько указано в URL).

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