2014-11-11 2 views
0

저는 레일과 햄에 매우 익숙합니다. partial과 렌더링 할 breadcrumb를 가지고 있는데, 변수에 부분을 전달하여 올바른 항목이 "enabled"클래스가되도록합니다.부분을 사용하여 이동 경로 항목에 클래스 추가

= render 'nav_breadcrumb', :locals => {:page1 => true} 

내 _nav_breadcrumb.html.haml 페이지에 나는이있다 : 여기에 내가 시도 무엇

.overlay-breadcrumb.clearfix 
    %span{:class => ("enabled" if :page1)} 
    %span 1 
    %span{:class => ("enabled" if :page2)} 
    %span 2 
    %span{:class => ("enabled" if :page3)} 
    %span 3 

문제는이 모든 3에 관계없이 렌더링 주어진 변수의 활성화 클래스를 얻고을 . 레일 문서에서이 부분을 밖으로

답변

1

확인 : 다음 템플릿에 단지를 참조하는 이름을 사용 http://guides.rubyonrails.org/layouts_and_rendering.html#passing-local-variables

는 변수를 통과 할 때, 당신은 {사실 PAGE1} 작성해야 할 것 같은데 변하기 쉬운.

= render 'nav_breadcrumb', :locals => {page1: true} 

.overlay-breadcrumb.clearfix 
    %span{:class => ("enabled" if page1)} 
     %span 1 
    %span{:class => ("enabled" if page2)} 
     %span 2 
    %span{:class => ("enabled" if page3)} 
     %span 3 
+0

쿨, 고마워! 나는 여전히 오류가 있지만 'render'를 'partial render'로 변경하면 문제가 해결되는 것 같습니다. 그런 다음 page2와 page3이 존재하지 않아서 지역 주민을 {page1 : true, page2 : false, page3 : false}로 변경했다. 모든 거짓 항목을 추가하는 것보다 더 우아한 방법이 있습니까? –