Pla*_*Ton 19 haml ruby-on-rails actionmailer
我只是想尝试格式化一个haml生成的(文本)邮件程序模板,而我在阅读多个换行符时遇到了一些困难.例如:我想过
Dear
= @user.name,
Your username is
= @user.username
Your status is
= @user.status
Run Code Online (Sandbox Code Playgroud)
我曾假设会读取多个换行符,但"您的状态为"行会在用户名正下方的行上显示.(是的,那么多次换行是夸大了我想要多少,但仍然)
所以,问题是:haml短信中的换行符......呃,怎么样?
Iva*_*van 35
您还可以使用\或==:
Dear
= @user.name,
\
Your username is
= @user.username
\
\
\
\
Your status is
= @user.status
Run Code Online (Sandbox Code Playgroud)
这具有允许您使用插值的附加优点,而使用:plain滤波器则不会.
Thi*_*ilo 14
我建议使用haml作为纯文本模板不会添加任何东西,并且在大多数情况下使它们比普通的旧erb模板更复杂.毕竟,它的主要目的是简化标记并省略关闭标记的需要 - 这不适用于纯文本.
如果您要发送多个mime的电子邮件,那么没有什么可以阻止您使用html.hamlHTML模板和text.erb纯文本模板,这将保留您的多个换行符:
Dear <%= @user.name %>,
Your username is <%= @user.username %>
Your status is <%= @user.status %>
Run Code Online (Sandbox Code Playgroud)
试试haml的:普通助手.
Dear
= @user.name,
Your username is
= @user.username
:plain
Your status is
= @user.status
Run Code Online (Sandbox Code Playgroud)
*编辑 - 您需要在正常过滤器之后缩进您的haml文本,就像通常在haml中一样.
考虑另一种更清晰的HAML方法.
Dear #{@user.name},
Your username is #{@user.username}
\
\
\
Your status is #{@user.status}
Run Code Online (Sandbox Code Playgroud)
文件名就像是 mailer.text.haml