¿Por qué no 'haml --check' encontrar este error de sintaxis mirando
-
10-10-2019 - |
Pregunta
Yo estaba buscando tareas rake que me ayudarían a localizar a los errores de sintaxis, y me encontré con haml --check
como una posible solución para los archivos HAML doble control. Por desgracia, cuando se lo pasé este ejemplo roto, haml dice la sintaxis es correcta.
¿He entendido mal el propósito de haml --check
o es esta característica no se aplica plenamente?
supongo que debería mencionar que estoy usando Haml / Sass 3.0.25 (clase Cassidy), los carriles 3.0.3, rubí 1.9.2p0, y Mac 10.6.6.
$ haml --check /tmp/edit.html.haml
Syntax OK
#/tmp/edit.html.haml - content_for :head do = include_javascripts :aspects #aspect_edit_pane #facebox_header %h4 = @aspect .description = t('contacts', :count =>@aspect_contacts.count)}
El último carácter (llave de cierre) debe dar lugar a un error de sintaxis, que sin duda lo hace cuando la plantilla se ejecuta como parte de una solicitud:
ActionView::Template::Error (compile error /usr/local/app/diaspora/app/views/aspects/edit.html.haml:13: syntax error, unexpected '}', expecting ')'
Solución
Tal vez porque -c, --check Just check syntax, don't evaluate.
Guess:. Verifica sólo la sintaxis haml y no evalúa rubí en línea
- editar
Esto probablemente necesita algunos más pruebas, pero lo tengo trabajando en archivos HAML simples:)
haml --debug newsletter.html.haml 2> /dev/null | sed '$d' | ruby -c
En teoría:
impresiones Haml fuera la fuente de Ruby precompilado (y mensajes de error en el final), que tratan de obtener sólo la parte rubí y comprobar la sintaxis.