Используя Rails 3.1.1 и гем act_as_tree. Я погуглил эту проблему и проверил подобные вопросы здесь, в SO (ответы слишком старые или неактуальные).
У меня есть модель под названием статьи с маршрутом, который сегодня выглядит так:
resources :articles, :path => '', :only => :show
resources :articles, :path => 'articles', :except => :show
У меня есть три статьи: "книга", "глава1" и "глава2". Где книга является родительской для главы 1 и главы 2.
Сегодня мой путь к каждой статье: host.com/book, host.com/chapter1 и host.com/chapter2. Я хочу, чтобы URL-адрес был host.com/book/chapter1 и host.com/book/chapter2 , то есть вложенными маршрутами.
Как я могу создать это чистым простым способом?
По сути, мне нужен путь, который будет host.com/:parent_id/:parent_id/:id с N числами :parent_id. Примерно так маршрутизируются статьи Wordpress.
Я не верю, что маршрутные глоберы - это решение, но я могу ошибаться. Кажется, он дает одинаковый результат для host.com/:id и host.com/foo/bar/:id, что приведет к дублированию контента.