【发布时间】:2013-11-24 20:06:36
【问题描述】:
我的 Rails 项目中有一些用于向用户发送文件的 HAML 视图。它们不呈现为 HTML,只是下载的纯文本文件。这些文件必须匹配一种非常特定的格式,并且该格式有一个特点,即要求每隔一行以制表符结尾。
Line 0a\t01234
Line 0b\t
Line 1a\t12345
Line 1b\t
Line 2a\t23456
Line 2b\t
a 行的制表符打印得很好,但b 行没有。如果我在制表符后添加任何非空白字符,则会打印制表符。但是当它是该行的最后一个字符时,它不会。
我的看法是这样的
- @line_pairs.each do |line_pair|
= line_pair.a.words + "\t" + line_pair.a.numbers
= line_pair.b.words + "\t"
我确定制表符不存在(我的编辑器会直观地显示它们)。也没有空间或类似的东西。我只是得到
Line 0a\t01234
Line 0b
Line 1a\t12345
Line 1b
Line 2a\t23456
Line 2b
有没有办法解决这个问题?感谢您的帮助。
【问题讨论】:
-
感谢您的建议,但这不起作用。结果文件只有
	选项卡应该在哪里。 -
将the
uglyoption 设置为true 是否有效? (Rails 在生产环境中应该默认为丑陋。) -
(话虽如此,即使使用
ugly确实有效,我还是建议您只使用 ERB。Haml 假设您正在创建 HTML,它并不适合这样的事情您需要对空白进行精细控制。) -
为什么要使用 Haml 处理文本文件?它不是为此而创建的。只需使用 ERb 会容易得多。
标签: ruby-on-rails ruby haml