ActionMailer Rails : invitation_email.html.erb 文件未读取
ActionMailer Rails : invitation_email.html.erb file not read
我在 Rails 上使用 Action Mailers。我按照文档进行操作,但浏览器无法正确读取 invitation_email.html.erb。
这是 invitation_email.html.erb:
上的代码
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
</head>
<body>
<h1><%= @sender.first_name %> vous invite à débattre.</h1>
<p><%= @group_invitation.key %></p>
<p> Cliquez ici : <%= link_to "Rejoindre", group_accept_invite_url(:key => @group_invitation.key) %>
</p>
<div class="button-test">
button
</div>
</body>
</html>
这是我在 group_mailer.rb 上的代码:
class GroupMailer < ActionMailer::Base
default from: 'Logora <contact@logora.fr>'
layout 'mailer'
def invitation_email(group_invitation)
@to = group_invitation.guest
@sender = group_invitation.sender
@subject = @sender.first_name + ' vous invite à débattre sur Logora'
@group_invitation = group_invitation
m = mail(to: @to, subject: @subject, content_type: "text/html")
end
end
最后,这是我给自己发送电子邮件时收到的消息:
洛戈拉
21:29(我是 7 分钟)
À moi
----==_mimepart_5c32651265cd8_16f563ff3a1d01db04642e 内容类型:text/html; charset=UTF-8 内容传输编码:引用打印
测试你邀请=C3=A0 d=C3=A9battre。
uh9sNDoDQbYU7ZYixKZHCCjG
Cliquez ici : Rejoindre
按钮
----==_mimepart_5c32651265cd8_16f563ff3a1d01db04642e 内容类型:text/html; charset=UTF-8 内容传输编码:引用打印
测试你邀请=C3=A0 d=C3=A9battre。 Cliquez ici : 重新加入
----==_mimepart_5c32651265cd8_16f563ff3a1d01db04642e--
如有任何帮助,我们将不胜感激!
如 documentation 所述,传递 :content_type
也期望传递 :body
(这将跳过模板渲染步骤)。因此,为了正确呈现模板,我怀疑您需要删除 content_type: "text/html"
:
mail(to: @to, subject: @subject)
content="text/html; charset=UTF-8"
打字错误,缺少一些双引号。 :)
我在 Rails 上使用 Action Mailers。我按照文档进行操作,但浏览器无法正确读取 invitation_email.html.erb。 这是 invitation_email.html.erb:
上的代码<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
</head>
<body>
<h1><%= @sender.first_name %> vous invite à débattre.</h1>
<p><%= @group_invitation.key %></p>
<p> Cliquez ici : <%= link_to "Rejoindre", group_accept_invite_url(:key => @group_invitation.key) %>
</p>
<div class="button-test">
button
</div>
</body>
</html>
这是我在 group_mailer.rb 上的代码:
class GroupMailer < ActionMailer::Base
default from: 'Logora <contact@logora.fr>'
layout 'mailer'
def invitation_email(group_invitation)
@to = group_invitation.guest
@sender = group_invitation.sender
@subject = @sender.first_name + ' vous invite à débattre sur Logora'
@group_invitation = group_invitation
m = mail(to: @to, subject: @subject, content_type: "text/html")
end
end
最后,这是我给自己发送电子邮件时收到的消息:
洛戈拉 21:29(我是 7 分钟) À moi
----==_mimepart_5c32651265cd8_16f563ff3a1d01db04642e 内容类型:text/html; charset=UTF-8 内容传输编码:引用打印 测试你邀请=C3=A0 d=C3=A9battre。 uh9sNDoDQbYU7ZYixKZHCCjG
Cliquez ici : Rejoindre
按钮 ----==_mimepart_5c32651265cd8_16f563ff3a1d01db04642e 内容类型:text/html; charset=UTF-8 内容传输编码:引用打印 测试你邀请=C3=A0 d=C3=A9battre。 Cliquez ici : 重新加入 ----==_mimepart_5c32651265cd8_16f563ff3a1d01db04642e--
如有任何帮助,我们将不胜感激!
如 documentation 所述,传递 :content_type
也期望传递 :body
(这将跳过模板渲染步骤)。因此,为了正确呈现模板,我怀疑您需要删除 content_type: "text/html"
:
mail(to: @to, subject: @subject)
content="text/html; charset=UTF-8"
打字错误,缺少一些双引号。 :)