【问题标题】:br tag not closing in Haml on Rails 3br标签未在Haml on Rails 3中关闭
【发布时间】:2010-11-02 15:31:51
【问题描述】:

我在让 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 应该默认自动关闭这些标签??

【问题讨论】:

    标签: ruby-on-rails-3 haml


    【解决方案1】:

    好的,我发现了问题。 Haml 在使用 Rails 3 时默认输出 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

    【讨论】:

    • 您实际上不需要调整:autoclose 列表。 Haml 知道 <br> 默认应该是自动关闭的。
    • @nex3 - 答案已更新以反映这一点。感谢您的提示,感谢您在 haml 和 sass 上的辛勤工作。很棒的产品!
    【解决方案2】:

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

    【讨论】:

    • 我正在使用%br   -- 丑陋,重复,但确实有效。
    【解决方案3】:

    根据 haml 文档:

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

    应该放在config/environment.rb中。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-31
      • 1970-01-01
      • 2012-03-04
      • 1970-01-01
      相关资源
      最近更新 更多