我尝试使用content_tag
功能将代码段插入到我的页面中。以下是我的代码示例
src_code = 'my code ...'
content_tag :pre do
content_tag :code do
src_code
end
end
src_code
变量存储此字符串的位置:
#include <stdio.h>
int main(void) {
do some stuff...
}
运行后,此代码输出以下标记:
<pre><code>#include <stdio.h>
int main(void) {
do some stuff...
}
</code></pre>
问题是开始标记后面的第二行有一个额外的缩进级别。原始代码段在主函数内只有一个制表符缩进。
这是我在浏览器中看到的内容:
#include <stdio.h>
int main(void) {
do some stuff...
}
除第一行外,其他所有内容都有额外的缩进级别。如何阻止content_tag
函数添加额外的缩进?
答案 0 :(得分:0)
经过大量的搜索和测试,我终于找到了问题所在。问题不在于include_tag
如何生成标记,它工作得很好。问题是当Haml呈现页面的其余部分时,它正在为标记添加额外的选项卡。这SO question然后有助于解决我的问题。只需在呈现我的内容之前调用preserve
,就可以保持间距和新行保持不变。