2015-02-02 3 views
0

.haml 파일에 handlebar 템플릿이 들어있는 파일이 있습니다. 템플릿에서 나는 handlebar variablerails helper function에 전달하고 있습니다. 하지만 레일 도우미 함수에서 변수의 값을 파싱 할 수없고 문자열로 가져옵니다. 내 핸들 줄 모양은 다음과 같습니다.HAML의 핸들 바가 작동하지 않습니다.

%span{:class => apply_label_class('{{change}}')} 

여기서 {{change}}은 핸들 바 변수입니다. 내가

def apply_label_class(change) 

    return '' unless change 

end 

과 같은 apply_lable_class 연료 소모량에 갈 때 변화는 어떤 정수 값이어야하지만 항상 '{{change}}'입니다. .

그래서 모든 가이드 어떻게 핸들 막대의 변수를 .haml 파일의 레일 도우미로 전달할 수 있습니까?

+1

클라이언트 측 핸들 바? 클라이언트 측에서 "변경"의 가치는 어디에서 얻습니까? –

답변

2

핸들 막대 템플릿은 서버에서 Haml이 처리 한 후에 브라우저에서 평가됩니다.

로직을 Handlebars 변수의 값에 의존하려면 클라이언트 측 자바 스크립트에 Handlebars 헬퍼로 구현해야합니다.

EDIT : 문자열 "{{change}}" 그 자체가 조건을 만족하고 최종 템플릿의 결과가 {{change}} 인 평가 결과가 있기 때문에 두 번째 예제가 작동합니다. 변수가 0으로 설정되면 조건이 작동하지 않습니다. 예정된.

+0

좋습니다. 그러나'= {link_to '{{mycustomurl}}', custom_url? ('{{custom_id}}')'을 사용하면 잘 작동하고 변수 값을 구문 분석합니다. 그땐 왜? –

+0

템플릿 문자열은 여기에서 문자열로 사용되므로 Haml이 평가하지 않습니다. 그들의 (미래) 가치에 연결된 논리가 없습니다. –

관련 문제