2010-06-04 4 views
6

HAML의 :javascript 필터 안에는 루비 코드가 허용되지 않으며, 덧글조차 없다고 생각됩니다.HAML에서 사용할 수있는 Ruby/Erb의 종류는 무엇입니까? javascript 필터?

는 그래서이 허용되지 않습니다.?

:javascript 
    - 1.upto(10) do |i| 

:javascript 
    -# just a comment not to show to public 

(누군가가 :javascript 필터 내부에 그런 의견을 숨길 수있는 방법이없는 말했다는 사실

이지만 허용되는 유일한 것 같다

:javascript 
    $('#aDiv').html('#{a_ruby_variable}'); 

에만이 #은 {} 허용됩니다. 루비입니다 다른 건은 허용되지 않는다?

답변

7

다른 질문에 말했듯이, 필터는 Haml과는 별도로 (거의) 전체적으로 구문 분석됩니다. 유일한 예외는 #{}입니다 : 정적 텍스트 (즉, Ruby 환경과 상호 작용하지 않는 텍스트, 즉 :ruby:erb 이외의 대부분의 필터)를 변형하는 필터의 경우 Haml은 이것을 편리한 방법으로 추가합니다 Ruby 값을 추가합니다.

텍스트와의보다 복잡한 루비 통합을 원할 경우 필터를 사용할 수 없습니다. JS를 템플릿에 넣는 것 말고도 모든 솔루션이 아니라 편리함을 의미합니다.

+0

흥미 롭습니다 ... 아마도 속도입니다 ... 그래서 % script 태그는 더 많은 Ruby를 허용합니다 ... 내부에 더 많은 Ruby 표현을 허용하는 javascript_ruby 필터가 없습니까? –

관련 문제