我希望能够将多行字符串传递给haml助手。
我有一个函数format_code,它接受一个字符串和一组要突出显示的行号。
此功能的目的是将原始源转换为格式化的HTML,突出显示的行,行号,转换为brs的换行符等。
如果我这样称呼它:
%p Some HAMl
=format_code("def something
a = b
b = c
end", :highlight_line => 2)
%p Some more HAML
这样做的原因是将代码示例嵌入到HAML文档中。
HAML抱怨用纯文本嵌套。嵌套发生在一个字符串中,所以我假设这没关系。同样的呼叫在irb中工作正常。
我会使用帮助器,但我希望能够传递参数哈希。有什么想法吗?
答案 0 :(得分:2)
我想你想把代码示例硬编码到HAML模板中,所以你真的想要我的直接反应是:“你不想要这个”。在那种情况下,我可能会选择:
:ruby
code = <<-CODE
def something
a = b
b = c
end
CODE
%p Some HAMl
=format_code(code, :highlight_line => 2)
%p Some more HAML
答案 1 :(得分:0)
我尝试了不同的变体,我认为最简单的变体如下(代码直接来自你的):
%p Some HAMl
=format_code("def something\t a = b\t b = c\tend", :highlight_line => 2)
%p Some more HAML
这至少应该是多行的问题......