2011-11-21 14 views
5

Mam ten haml/wąsy szablonu:Wąsy i haml

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

I mam Illegal nesting: nesting within plain text is illegal błąd.

I czyni to w Sinatra

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

Jestem zdezorientowany z powodu twojego hamla. Co znaczy {{mean? – jaydel

+0

to wąsy :) http://mustache.github.com/ – fl00r

Odpowiedz

2

nie jestem pewien o trójwymiarowa z Sinatra, ale z tym poleceniem:

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

ten plik danych example.yml

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

i szablon (foo.haml.mustache):

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

dostaję następujący wynik:

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

Pls zwrócić uwagę na poziom wcięcia w * .mustache pliku. Mam nadzieję, że to ci pomoże.

+2

Tak, rozumiem, że mogę usunąć wszystkie wcięcia (zakładki), aby działały poprawnie. Ale to jest okropne czytanie: wąsy bez zakładek :) więc prawdziwym problemem jest ho, aby haml pracował z wąsami i wcięciami – fl00r