【问题标题】:How to render a variable in HAML and preserve white-spaces?如何在 HAML 中呈现变量并保留空格?
【发布时间】:2017-03-30 20:48:14
【问题描述】:

这就是我正在做的:

%pre
  =var

var 的值为"foo\nbar"。我得到了这个 HTML:

<body>
  <pre>foo
  bar</pre>
</body>

显然,我期待:

<body>
  <pre>foo
bar</pre>
</body>

怎么办?

【问题讨论】:

    标签: html ruby haml


    【解决方案1】:

    您必须将您的var 放在您的%pre 所在的同一行。所以看起来像%pre= var

    【讨论】:

      【解决方案2】:

      如果您使用ugly mode,那么您应该不会遇到这个问题。请注意(希望即将推出)Haml 5 there only is ugly mode,因此这可能是未来的最佳选择。

      这会产生:

      <body>
      <pre>foo
      bar</pre>
      </body>
      

      对于当前版本,在非丑陋模式下,如果你想像这样保留空格,那么通常你会使用~,它会在结果上调用find_and_preserve。但是在这里你已经在pre 块中,所以这不起作用(可以说这是一个错误,但是在 Haml 5 中删除了非丑陋模式后,我看不到修复它的任何好处)。

      你可以直接使用preserve

      %body
        %pre
          =preserve(var)
      

      这会产生:

      <body>
        <pre>foo&#x000A;bar</pre>
      </body>
      

      渲染时与您想要的结果具有相同的效果。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-03-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多