这就是我正在做的事情:
%pre
=var
var
的值为"foo\nbar"
。我收到这个HTML:
<body>
<pre>foo
bar</pre>
</body>
显然,我期待:
<body>
<pre>foo
bar</pre>
</body>
怎么办?
答案 0 :(得分:1)
您必须将var
放在%pre
所在的同一行。所以它看起来像%pre= var
答案 1 :(得分:1)
如果您使用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>
与渲染时所需的结果具有相同的效果。