Знаете ли вы, как динамически генерировать маршруты, такие как:
... (/:parent_id(/:parent_id(/:parent_id(/:parent_id))))/:id
Я задаю этот вопрос, потому что у меня есть модель Folder
, которая действует как дерево (у нее есть поле parent_id
), а ее метод to_param
возвращает свой name
, который уникален в рамках parent_id
. Таким образом, каждое :parent_id
и событие :id
являются name
. Вот пример пути (с 4 подпапками):
/home/desktop/projects/rails/foobar
... где первый :parent_id
(корень) — это «дом», а :id
— это «foobar».
Другой пример маршрута может быть (с 1 подпапкой):
/home/music
...где, как видите, params[:parent_id] == 'home'
и params[:id] == 'music'
.
Есть ли чистый способ написать красивый маршрут Rails 3, который обрабатывает такие возможные вложенные маршруты? Спасибо!!