2011-11-18 2 views
0

에서 HAML 렌더링. 내가 jQuery를 사용하여 내 HAML의 부분 지문의 일부를 추가 할 수 있어야합니다. 그래서시나 + HAML + jQuery를, 내가 템플릿 HAML와시나를 사용하여 프로젝트를 진행하고 자바 스크립트/JQuery와

....addEventListener(myWidget, 'click', function() { 
    $('targetDiv').append(RenderHamlTempalte('/my/file/location/'); 
}); 

또는

....addEventListener(myWidget, 'click', function() { 
    $('targetDiv').append(RenderHamlTempalte('/my/file/location/', {options: here, options: here); 
}); 

내가 뭔가를 찾을 수 없습니다 정말 GitHub의에 대한 몇 가지 관련 프로젝트를 체크 아웃 왔지만 같은 이벤트에 의해 트리거되는 JS 기능이 추가 바라고 제대로해라. 어떤 정보를

감사

UPDATE : 여기

은 그때 내시나 app.rb에 난 그냥

부분 내 HAML을 반환 할 수 있습니다

var url = '/update&my&div/' + param; 
$('.my-div').load(url); 

와 함께가는 결국 무엇 이었습니까 https://github.com/uglyog/clientside-haml-js:이 작업을 수행하는

get ''/update&my&div/:params' do 
    # do some stuff 
    @make_variables_happen 
    haml :my_partial 
end 

답변

1

한 가지 방법은 같은 도구를 사용하는 것입니다 6,당신은 <script type="text/haml-template" id="template_id"> YOUR PARTIAL GOES HERE </script>에 파셜 포장 및 HTML 페이지에 어딘가를 추가해야합니다 (I 일반적으로 페이지의 맨 아래에 추가). 그런 다음에 자바 스크립트에서이를 참조 할 수 있습니다

var tmpl = haml.compileHaml('template_id'); 

다음은로 데이터를 전달할 수 있습니다 :

당신의 예에 따라
var html = tmpl({option1: value1, option1: value1}); 

또는 : 응답에 대한

$('targetDiv').append(tmpl({option1: value1, option1: value1})); 
+0

감사합니다. 나는 동일한 파일에 내 HAML의 파셜을 포함하는 것을하는 것은 적합하지 않았기 때문에 약간 다른 길을가는 끝났다. 누군가가 관심이 있는지를 보여주기 위해 첫 번째 게시물을 편집했습니다. 팁을 주셔서 다시 한 번 감사드립니다. –

관련 문제