Использование высокого напряжения с вложенными каталогами
У меня есть приложение 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") %>
Я получил это точное решение, работающее в текущем проекте.