2012-07-30 50 views
0

我使用HAML,和下面的代码工作:HAML无法正确解析我的Ruby代码

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>" 

回答

0

我不清楚,如果您是按照上面的方式逐字输入的,我认为这会导致缩进问题。

考虑一个herestring:

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

我的猜测是你的字符串有缺口的问题;上述工作正常。

(有一个strip_heredoc in Rails 3这样你就可以缩进herestring,其内容源更容易。)