Perché non 'Haml --check' trovare questo errore di sintassi abbagliante
-
10-10-2019 - |
Domanda
I stava cercando per compiti rake che mi avrebbe aiutato a rintracciare errori di sintassi, e mi sono imbattuto in haml --check
come una possibile soluzione per i file Haml doppio controllo. Purtroppo, quando ho passato questo esempio rotto, Haml dice la sintassi è OK.
ho frainteso lo scopo di haml --check
o è questa funzionalità non pienamente attuato?
suppongo dovrei menzionare che sto utilizzando Haml / Sass 3.0.25 (Classy Cassidy), rotaie 3.0.3, rubino 1.9.2p0 e 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)}
L'ultimo carattere (parentesi graffa) dovrebbe innescare un errore di sintassi, lo fa di certo quando il modello viene eseguito come parte di una richiesta:
ActionView::Template::Error (compile error /usr/local/app/diaspora/app/views/aspects/edit.html.haml:13: syntax error, unexpected '}', expecting ')'
Soluzione
Forse perché -c, --check Just check syntax, don't evaluate.
Indovinate:. Controlla solo la sintassi Haml e non valuta rubino in linea
- modifica
Questo probabilmente ha bisogno di alcuni di più test, ma ho preso a lavorare su semplici file Haml:)
haml --debug newsletter.html.haml 2> /dev/null | sed '$d' | ruby -c
In teoria:
Haml stampa il fonte Rubino precompilata (e messaggi di errore alla fine), che cercano di ottenere solo la parte rubino e verificare la sintassi.