문제

나는 내가 보석을 사용하고있는 레일 3.2 응용 프로그램을 가지고있다. 높은 전압 내 공개 페이지의 경우. 그러나 잘 작동하는 것 같지만, 내 페이지 폴더에 일부 하위 디렉토리를 넣을 수 있기를 원합니다.

예를 들어:

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

이 예에서는 브라우저를 가리키고 싶습니다. pages/directory_1/index, 등. 문서는 가능하다고 주장합니다.

디렉토리 구조에 페이지를 중첩 할 수 있습니다. 링크 _TO "Q4 보고서", PAGE_PATH ( "정보 / policies / hr / en_us / biz / sales / quarce-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" 두 가지 문제가 있습니다. 페이지 디렉토리 자체의 뷰는 더 이상 뷰를 허용하지 않으며 다른 하위 디렉토리에서 동일한 파일 이름을 가진 뷰가 혼동됩니다.

따라서 고전압이있는 내 페이지 디렉토리에서 중첩 된 디렉토리를 어떻게 수행 할 수 있습니까?

도움이 되었습니까?

해결책

내부에서 디렉토리 구조를 만드는 것만으로 만듭니다 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