我只是想尝试格式化haml生成的(文本)邮件程序模板,而我在阅读多个换行符时遇到了一些困难。例如:我想过
Dear
= @user.name,
Your username is
= @user.username
Your status is
= @user.status
我曾假设会读取多个换行符,但“您的状态为”行会在用户名正下方的行上显示。 (是的,许多换行符夸大了我想要多少但仍然存在)
所以,问题是:haml短信中的换行符......呃,怎么样?
答案 0 :(得分:35)
您还可以使用\
或==
:
Dear
= @user.name,
\
Your username is
= @user.username
\
\
\
\
Your status is
= @user.status
这具有允许您使用插值的附加优势,而使用:plain
滤镜则不会。
答案 1 :(得分:14)
我建议将haml用于纯文本模板不会添加任何内容,并且在大多数情况下使它们比普通的旧erb
模板更复杂。毕竟,它的主要目的是简化标记并省略关闭标记的需要 - 这不适用于纯文本。
如果您要发送多部分mime电子邮件,则无法阻止您使用html.haml
表示HTML模板,text.erb
表示纯文本电子邮件,这将保留您的多个换行符:
Dear <%= @user.name %>,
Your username is <%= @user.username %>
Your status is <%= @user.status %>
答案 2 :(得分:9)
尝试使用haml:plain helper。
Dear
= @user.name,
Your username is
= @user.username
:plain
Your status is
= @user.status
*编辑 - 您需要在普通过滤器之后缩进您的haml文本,就像通常在haml中一样。
答案 3 :(得分:7)
考虑另一种更清晰的HAML方法。
Dear #{@user.name},
Your username is #{@user.username}
\
\
\
Your status is #{@user.status}
文件名类似于mailer.text.haml
答案 4 :(得分:-5)
使用%br
标记表示中断线。您也可以使用%p
和%div
并添加一些css:)