1

我正在使用 CodeRay 1.1.1 版来渲染一个 ruby​​ 文件。但是,它添加了大量额外的空格来缩进除第一行之外的所有行。

作为 MCVE,我有一个名为 something.rb 的文件,其内容为:

# This comment will not be indented
# This comment WILL be indented

在控制器中我有:

contents = File.read('something.rb')
@syntax_highlighted = CodeRay.scan(contents, :ruby).div

在视图中,我有

= raw @syntax_highlighted

但是,对于我收到的输出,如下所示:输出不正确

4

1 回答 1

2

这是由于 HAML 弄乱了您的空格造成的。请参阅 HAML 关于Whitespace Preservation的文档。

有时您不希望 Haml 缩进所有文本。例如,pre 和 textarea 等标签对空格敏感;缩进文本会使它们呈现错误。

您需要使用~而不是通常使用,=因此您的视图将是:

~ raw @syntax_highlighted
于 2016-07-28T20:34:29.530 回答