2012-06-05 14 views
5

Estoy tratando de agregar una pequeña cantidad de lógica a una de mis plantillas (por favor no me regañe por las fallas de poner lógica en la vista) y estoy teniendo dificultades para obtener la sintaxis correcta de hamlc.¿Cómo hago un cierre de haml-coffee que abarca múltiples líneas?

estoy interactuando sobre una colección y quiero omitir los elementos que existen en otra colección

El CoffeeScript hacia arriba se vería así:

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

Estoy intentando:

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

y estoy consiguiendo algunos hogwash sobre: ​​

Block level too deep in line undefined 

¿Alguna idea? TIA, Billy

+0

En la sección Soy trying', si un archivo haml, o un archivo 'CoffeeScript ? ¿Qué intérprete estás ejecutando? – asawyer

+0

Ah, cierto, gracias. Es un archivo hamlc - https://github.com/9elements/haml-coffee. Mi representante es basura, así que no pude agregar la etiqueta hamlc ...;) – Billy

+1

No he visto esto antes, gracias, lo comprobaré. Se agregó la etiqueta para ti. – asawyer

Respuesta

1

yo era capaz de conseguir que esto funcione, poniendo el cierre en la misma línea:

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

Haml-Coffee tenía un error relacionado con el soporte de varias líneas, que se ha solucionado. Además, de acuerdo con la documentación de Haml, el carácter de varias líneas ('|') también debe colocarse en la última línea. – Netzpirat

Cuestiones relacionadas