我在苗条:
中有这个变量- foo = 'my \n desired multiline <br/> string'
#{foo}
当我使用 slimrb命令行命令解析输出时,变量的内容被编码:
my \n desired multiline <br/> string
如何让slimrb
输出原始内容以生成多行字符串?
请注意,.html_safe
和.raw
都不可用。
答案 0 :(得分:4)
这里有两个问题。首先使用单引号的Ruby字符串 - '
- 不要将\n
转换为换行符,它们仍然是文字\
和n
。你需要使用双引号。这也适用于Slim。
第二,Slim HTML escapes the result of interpolation by default。为避免这种情况,请在代码周围使用双括号。默认情况下为Slim also HTML escapes Ruby output(使用=
)。在这种情况下避免逃避use double equals (==
)。
将这两者结合起来,您的代码将类似于:
- foo = "my \n desired multiline <br/> string"
td #{{foo}}
这会产生:
<td>my
desired multiline <br/> string</td>
答案 1 :(得分:0)
一种更简单的方法是将行号用作逐字记录文本|
。文档here。例如;
p
| This line is on the left margin.
This line will have one space in front of it.