0

私はHAMLを使用しており、次のコードが機能します。

content = '= User.last.name' #last.name = 'joe'
Haml::Engine.new(content).render >> joe

HAML がその文字列を正しく解析するのに、次の文字列を正しく解析できないのはなぜですか?

 content = '= User.last.name 
              %title
                  html2haml and multiline titles'

 Haml::Engine.xxxx(content) >> "= User.last.name
                                 <title>
                                   html2haml and multiline titles
                                 </title>"
4

1 に答える 1

0

上記のように逐語的に入力しているかどうかはわかりませんが、インデントの問題につながると思います。

ヒアストリングを考えてみましょう:

content = <<EOS
= User.last.name 
  %title
    html2haml and multiline titles
EOS

あなたの文字列にはインデントの問題があると思います。上記は正常に動作します。

( strip_heredocRails 3 には aがあるので、ヒアストリングをインデントできます。これにより、ソースが読みやすくなります。)

于 2012-08-02T01:57:05.587 に答える