br标签没有在Haml on Rails 3上关闭

时间:2010-11-02 15:31:51

标签: ruby-on-rails-3 haml

我在让Haml关闭b​​r标签时遇到问题。我试过以下没有运气:

%br  
%br/

我希望这会产生<br />,但它总是输出为<br>,即使末尾有斜杠字符。我也尝试将以下选项添加到application.rb(我尝试了environment.rb)

Haml::Template.options[:autoclose] = ['meta', 'img', 'link', 'br', 'hr', 'input', 'area', 'param', 'col', 'base']

我错过了什么吗?我虽然Haml应该默认自动关闭这些标签吗?

3 个答案:

答案 0 :(得分:10)

好的,我发现了问题。使用Rails 3时,Haml默认输出HTML5。我没有意识到<br>是HTML5中的有效语法。我试图让它通过W3C语义提取器,所以我需要<br />。为了使其工作,您需要更新自动关闭的Haml选项并将其设置为xhtml。将此代码放入类中的application.rb。

Haml::Template.options[:format] = :xhtml

更多信息:

http://github.com/nex3/haml/issuesearch?state=closed&q=close#issue/155

答案 1 :(得分:2)

但是,如果我想要xhtml5(即带有autoclose的html5),那就没办法了!我和许多其他用户一样,尝试覆盖:autoclose列表,它只是不起作用。

答案 2 :(得分:1)

根据haml文档:

Haml::Template.options[:format] = :xhtml

应放在config / environment.rb。

将它放在environment.rb中对我有用。