2016-09-06 1 views
0

루트 페이지에서만 내비게이션 막대와 바닥 글을 숨기고 싶습니다. 나는 RoR을 사용하고있다. 현재 반복성을 방지하기 위해 내 응용 프로그램 파일에 내 탐색 표시 줄이 있습니다. 내 응용 프로그램 컨트롤러에 필터가 있다고 가정합니까?루비/레일즈 - 루트에서 내비게이션 막대 및 바닥 글 숨기기 페이지

<% unless controller.controller_name == "your_root_controller" && controller.action_name == "your_action" %> 
    <nav> 
     #something 
    </nav> 
<% end %> 

또는 심지어 당신은 다음과 같이 헬퍼 어떤 방법으로 할 수 있습니다 :

+1

([레일 루트 URL에있는 경우 감지 방법] http://stackoverflow.com/questions/1924620/how-to-detect-if-rails-is -at-the-root-url) – Mick

답변

0

보기 application.html.erb이 시도

def root? 
controller.controller_name == "your_root_controller" && controller.action_name == "your_action" 
end 

application.html.erb에서 다음 :

if root? 
    #something html 
end 

또는 당신은 또한 current_page? 방법을 사용할 수 있으며, 이런 식으로 :

보기

application.html.erb

if current_page?(root_path) 
    # your html 
end 
+0

여러 솔루션을 높이 평가합니다. 프로덕션 용도로 사용 하시길 권합니다. –

+0

root 만 사용하는 경우'current_page? '메소드를 사용하여 마지막 해결책을 권합니다. –