Рекурсивные маршруты в Rails

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

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

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

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

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

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

Ответ 1

Вы можете сопоставить начальный маршрут (/page) с контроллером, настроив " globbing" для всех конечных параметров.

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

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