2011-11-21 31 views
5

Tôi đã có Haml/ria mép này mẫu:Moustache và Haml

{{#data}} 
    ok 
    {{#items}} 
    {{#item}} 
     %b ID: {{id}} 
    {{/item}} 
    {{/items}} 
{{/data}} 

Và tôi đã có Illegal nesting: nesting within plain text is illegal Lỗi.

tôi render nó trong Sinatra

Mustache.render(haml(:index), hash) 
+0

Tôi đang bối rối về haml của bạn. {{Có nghĩa là gì? – jaydel

+0

nó là moustache :) http://mustache.github.com/ – fl00r

Trả lời

2

Tôi không chắc chắn về rendering với Sinatra, nhưng với lệnh này:

cat example.yml foo.haml.mustache | mustache | haml -e 

tập tin dữ liệu này example.yml

--- 
data: 
    - items: 
    - item: 
     - id: 1 
     - id: 2 
     - id: 3 
---  

và mẫu (foo.haml.mustache):

{{#data}} 
#ok 
{{#items}} 
{{#item}} 
    %b ID: {{id}} 
{{/item}} 
{{/items}} 
{{/data}} 

tôi nhận được sau kết quả:

<div id='ok'> 
    <b>ID: 1</b> 
    <b>ID: 2</b> 
    <b>ID: 3</b> 
</div> 

Xin vui lòng chú ý đến mức độ thụt đầu dòng trong tập tin * .mustache. Hy vọng điều này sẽ giúp bạn.

+2

Vâng, tôi hiểu, rằng tôi có thể loại bỏ tất cả indents (tab) để nó sẽ hoạt động tốt. Nhưng nó là kinh khủng đọc: ria mép không có tab :) vì vậy vấn đề thực tế là ho để làm cho haml làm việc với bộ ria mép và thụt đầu dòng của nó – fl00r