我在让Haml关闭br标签时遇到问题。我试过以下没有运气:
%br
%br/
我希望这会产生<br />
,但它总是输出为<br>
,即使末尾有斜杠字符。我也尝试将以下选项添加到application.rb(我尝试了environment.rb)
Haml::Template.options[:autoclose] = ['meta', 'img', 'link', 'br', 'hr', 'input', 'area', 'param', 'col', 'base']
我错过了什么吗?我虽然Haml应该默认自动关闭这些标签吗?
答案 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中对我有用。