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

joh*_*ley 9 haml ruby-on-rails-3

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

%br  
%br/
Run Code Online (Sandbox Code Playgroud)

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

Haml::Template.options[:autoclose] = ['meta', 'img', 'link', 'br', 'hr', 'input', 'area', 'param', 'col', 'base']
Run Code Online (Sandbox Code Playgroud)

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

joh*_*ley 10

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

Haml::Template.options[:format] = :xhtml
Run Code Online (Sandbox Code Playgroud)

更多信息:

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

  • 您实际上不需要调整`:autoclose`列表.Haml知道```应该默认自动关闭. (2认同)