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

StackOverflow https://stackoverflow.com/questions/14726248

Вопрос

У меня есть приложение Rails 3.2, в котором я использую GEM Высокое напряжение Для моих публичных страниц. Кажется, он работает нормально, однако я хотел бы иметь несколько подкаталоги в папке своих страниц.

Например:

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

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

Вы можете закроить страницы в структуре каталогов, если это имеет смысл с точки зрения URL-адреса для вас: link_to "Q4 отчеты", Page_Path ("О / Корпоративные / Политики / hr / en_us / biz / Продажи / четверть четырех")

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

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

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" Поставляется с двумя проблемами: он не допускает больше всего взглядов в саму каталог страниц, а представления с тем же именем в разных подкаталах будут запутаться.

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

Это было полезно?

Решение

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top