2010-06-04 15 views
6

Parece que dentro del filtro :javascript de HAML, no se permite el código de Ruby , ni siquiera un comentario.¿Qué tipo de Ruby/Erb está permitido dentro de HAML: filtro de Javascript?

Así que esto no está permitido:.

:javascript 
    - 1.upto(10) do |i| 

:javascript 
    -# just a comment not to show to public 

(alguien dijo que no hay manera de ocultar el comentario de esa manera dentro de un filtro :javascript Es eso cierto

pero parece que el único permitido? se está permitido

:javascript 
    $('#aDiv').html('#{a_ruby_variable}'); 

sólo esto # {}. se deja nada más que es Ruby?

Respuesta

7

Como dije en su otra pregunta, los filtros están (casi) enteramente analizados por separado de Haml. La única excepción es #{}: para los filtros que solo transforman texto estático (es decir, texto que no interactúa con el entorno Ruby, por lo que la mayoría de los filtros no son :ruby y :erb), Haml agrega esto como una forma práctica de agregando un valor Ruby.

Si está buscando una integración de Ruby más compleja con su texto, los filtros no son el lugar adecuado. Están destinados a ser prácticos, no la solución definitiva para, por ejemplo, poner JS en su plantilla.

+0

interesante ... tal vez sea por la velocidad ... así que la etiqueta% script permite más Ruby por dentro ... ¿no podría haber un filtro javascript_ruby que permita más expresión de Ruby adentro? –

Cuestiones relacionadas