Использование высокого напряжения с вложенными каталогами

У меня есть приложение rails 3.2, в котором я использую драгоценный камень High Voltage для своих публичных страниц. Кажется, это работает нормально, однако я хотел бы иметь возможность поместить некоторые подкаталоги в папку моих страниц.

Например:

/pages
--/directory_1
----index.html.erb
--/directory_2
----index.html.erb

В этом примере я хочу указать моему браузеру pages/directory_1/indexи т.д. В документации утверждается, что это возможно:

Вы можете вкладывать страницы в структуру каталогов, если это имеет смысл с точки зрения URL: link_to "Отчеты Q4", page_path("about/corporate/icies/HR/en_US/biz/sales/Quarter-Four")

Но что-то подобное не работает для меня.

Я попробовал это с пространством имен:

namespace :directory_1 do
  match "pages/:id" => "high_voltage/pages#show"
end

но это, конечно, затем идет к directory_1/high_voltage/pages#show, что не так.

Просто делаю матч "pages/directory_1/:id" => "high_voltage/pages#show" Поставляется с двумя проблемами: он больше не допускает никаких представлений в самом каталоге страниц, и представления с одинаковыми именами файлов в разных подкаталогах будут перепутаны.

Итак, как я могу выполнить вложенные каталоги внутри моего каталога страниц с высоким напряжением?

1 ответ

Решение

Просто создайте структуру каталогов внутри app/views/pages отражать иерархию URL, которая вам нужна.

Например, если вы создали вид с именем about.html.erb с пути app/views/pages/about_me/about.html.erb, вы будете ссылаться на это с помощью

<%= link_to "About", page_path("about_me/about") %>

Я получил это точное решение, работающее в текущем проекте.

Другие вопросы по тегам