2012-06-05 8 views
5

Sto provando ad aggiungere una piccola quantità di logica a uno dei miei modelli (per favore non sgridarmi sugli errori di inserire la logica nella vista) e sto avendo difficoltà a trovare la sintassi hamlc corretta.Come si effettua una chiusura haml-caffè che si estende su più linee?

sto iterazione di una collezione e voglio ignorare gli elementi che esistono in un'altra raccolta

Il CoffeeScript verso l'alto sarebbe simile:

for artwork in artworks 
    unless _.find(cart_items, (ci) -> 
    ci.id == artwork.product_code 
     alert 'artwork not in cart' 

Sto cercando:

- for artwork in artworks 
    - unless _.find(cart_items, (ci) -> | # < multiline, right? 
    ci.id == artwork.product_code 
    - alert 'artwork not in cart' 

e sto ottenendo un po 'di scherzo su:

Block level too deep in line undefined 

Qualche idea? TIA, Billy

+0

Nella sezione Sono trying', se un file Haml, o il file 'CoffeeScript ? Quale interprete stai correndo? – asawyer

+0

Ah, giusto, grazie. È un file hamlc - https://github.com/9elements/haml-coffee. Il mio rappresentante è schifo quindi non ho potuto aggiungere il tag hamlc ..;) – Billy

+1

Non l'ho mai visto prima, grazie lo controllerò. Aggiunto il tag per te. – asawyer

risposta

1

sono stato in grado di ottenere questo al lavoro mettendo la chiusura sulla stessa linea:

- for artwork in artworks 
    - unless _.find(cart_items, (ci) -> ci.id == artwork.id) 
    - alert 'not in the cart' 
+1

Haml-Coffee ha riscontrato un bug relativo al supporto multi-linea, che è stato corretto. Inoltre, secondo la documentazione di Haml, anche il carattere multi linea ('|') deve essere posizionato sull'ultima riga. – Netzpirat

Problemi correlati