2013-10-08 3 views
1

내부에 변수가있는 레이아웃을 만들었습니다.외부 Haml 변수

layout.haml : 그것은 완벽하게 작동하고 저에게이 준

- title = "Example" 
%title #{title} 

: 나는이 부분에서이 변수를 넣어 경우

<title>Example</title> 

하지만, 그것은 작동하지 않습니다

_vars.haml :

- title = "Example" 

layout.haml :

=partial "vars" 
%title #{title} 

외부 문서의 모든 변수를 어떻게 정의하여 작동시킬 수 있습니까?

layout.html.haml :

%title= yield(:title) 

_my_partial.html.haml :

- content_for(:title) do 
    Example 
+0

당신이하려는 것은 무엇입니까? 다른 언어로 번역? I18n을 사용하십시오. –

+0

템플릿입니다. 모든 문자열을 외부 문서에 저장하려고하므로 한 번만 바꾸면됩니다. –

+0

해결책을 찾았습니다. 변수 앞에 "$"를 추가하여 전역 변수를 사용해야합니다 ... 도움을 주셔서 감사합니다. –

답변

1

에 대한

감사합니다 어쩌면 공유 코드를 도우미에 넣을 수 있을까요?

# application_helper.rb 
def title 
    @title ||= 'Example' 
end 

그 후 title 헬퍼는 기본보기 또는 부분적으로 사용할 수 있습니다. 변수 계산은 ||= 때문에 한 번만 수행됩니다.

+0

내가 yield =를 입력하면 모든 html 콘텐츠를 가져옵니다. 왜냐하면 그 템플릿 때문입니다. 도움을 주셔서 감사합니다 :) –

+0

yield는 명명 된 yield로 param이 필요합니다. 대신 yield (: title)를 추가하십시오. 그러면 위의 샘플에서 예제이 렌더링됩니다. – jewilmeer

0

당신은 아마 콘텐츠를 찾고 있습니다 도움