質問

ダウン構文エラーを追跡するのに役立つレーキタスクを探していました、そして私は出会いました haml --check Hamlファイルを二重にチェックするための可能なソリューションとして。残念ながら、この壊れた例に合格したとき、Hamlは構文は大丈夫だと言います。

私はその目的を誤解しましたか haml --check または、この機能は完全に実装されていませんか?

Haml/Sass 3.0.25(Clansy Cassidy)、Rails 3.0.3、Ruby 1.9.2p0、および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)}

最後の文字(Curly Brace)は、構文エラーをトリガーする必要があります。これは、テンプレートがリクエストの一部として実行されるときに確かに行われます。

ActionView::Template::Error (compile error 
    /usr/local/app/diaspora/app/views/aspects/edit.html.haml:13: 
    syntax error, unexpected '}', expecting ')'
役に立ちましたか?

解決

多分 -c, --check Just check syntax, don't evaluate.

推測:Hamlの構文だけをチェックし、インラインRubyを評価しません。

- 編集

これにはおそらく必要です いくつかの もっとテストしますが、簡単なhamlファイルで動作しています:)

haml --debug newsletter.html.haml 2> /dev/null | sed '$d' | ruby -c

理論的には:

Hamlは、事前にコンパイルされたRubyソース(および最後にエラーメッセージ)を印刷し、Ruby部品だけを取得して構文を確認しようとします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top