CodeRay添加了不正确的缩进

时间:2016-07-27 15:36:39

标签: ruby-on-rails ruby ruby-on-rails-4 haml coderay

我正在使用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

但是,对于我收到的输出,如下所示:Incorrect output

1 个答案:

答案 0 :(得分:2)

这是由于HAML弄乱了你的空白。请参阅HAML关于Whitespace Preservation的文档。

  

有时你不希望Haml缩进你的所有文字。例如,像pre和textarea这样的标签是空格敏感的;缩进文本会使它们呈现错误。

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

~ raw @syntax_highlighted