【发布时间】:2017-03-30 20:48:14
【问题描述】:
这就是我正在做的:
%pre
=var
var 的值为"foo\nbar"。我得到了这个 HTML:
<body>
<pre>foo
bar</pre>
</body>
显然,我期待:
<body>
<pre>foo
bar</pre>
</body>
怎么办?
【问题讨论】:
这就是我正在做的:
%pre
=var
var 的值为"foo\nbar"。我得到了这个 HTML:
<body>
<pre>foo
bar</pre>
</body>
显然,我期待:
<body>
<pre>foo
bar</pre>
</body>
怎么办?
【问题讨论】:
您必须将您的var 放在您的%pre 所在的同一行。所以看起来像%pre= var
【讨论】:
如果您使用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
bar</pre>
</body>
渲染时与您想要的结果具有相同的效果。
【讨论】: