代码之家  ›  专栏  ›  技术社区  ›  johnmcaliley

br标记未在轨道3上的Haml中闭合

  •  9
  • johnmcaliley  · 技术社区  · 14 年前

    我无法让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默认情况下应该自动关闭这些标签??

    3 回复  |  直到 14 年前
        1
  •  10
  •   johnmcaliley    14 年前

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

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

    更多信息请点击此处:

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

        2
  •  2
  •   Nello    14 年前

        3
  •  1
  •   Docunext    13 年前

    根据haml文档:

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

    应该放在config/environment.rb中。