我正在使用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
答案 0 :(得分:2)
这是由于HAML弄乱了你的空白。请参阅HAML关于Whitespace Preservation的文档。
有时你不希望Haml缩进你的所有文字。例如,像pre和textarea这样的标签是空格敏感的;缩进文本会使它们呈现错误。
您需要使用~
而不是通常的=
,因此您的观点将是:
~ raw @syntax_highlighted