2013-02-04 2 views
2

레일 3.2.11을 사용하고 HAML의 최신 버전이 무엇이든 HAML 부분에 블록을 전달하려고했습니다. 부분을 ​​렌더링하기 전에 HAML 파일에서 변수를 사용하고 그 변수를 할당 할 수 있다고 생각합니다.하지만 실제로는 엉성하고 단단합니다.인수를 HAML 부분으로 전달

난 레일 어플리케이션 레이아웃에서 알 수 있듯이 내 모든 뷰가 렌더링되는 곳은 분명히 = yield입니다. HAML 부분에서 논리적으로 인자와 블록을 사용하는 방법이 있습니까?

+1

당신은 당신이 원하는 것을 파악에 도움이 될 몇 가지 코드를 공유 할 수 있습니다. 여기에 표시된 예를 시도하고 있습니까? http : //api.rubyonrails.org/classes/ActionView/Helpers/RenderingHelper.html#method-i-_layout_for – jvnill

답변

2

부분적으로 원하는 것을 전달할 수 있습니다. 다음과 같이 사용할 수 있습니다.

= render "people/person", :object => @manager, :locals => { :show_details => true } 

yield와 content_for를 함께 사용하여 블록을 처리 할 수도 있습니다. 당신은 같은 것을 할 경우 :

- content_for :profile_links do 
    %li Hello #{@manager.name} 
    %li= link_to "Settings", @manager.profile 

을 그리고 귀하의 계정 메뉴에 있음을 얻을 :

%ul#account_menu 
    = yield :profile_links 
    %li= link_to "Sign Out", sign_out_url