ruby-on-rails - ActionMailer Rails:invitation_email.html.erb 文件未读取
问题描述
我在 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
最后,这是我给自己发送电子邮件时收到的信息:
Logora 21:29(Il ya 7 分钟)À moi
----==_mimepart_5c32651265cd8_16f563ff3a1d01db04642e 内容类型:文本/html;charset=UTF-8 Content-Transfer-Encoding:quoted-printable 测试邀请 =C3=A0 d=C3=A9battre。uh9sNDoDQbYU7ZYixKZHCCjG
Cliquez ici : Rejoindre
按钮----==_mimepart_5c32651265cd8_16f563ff3a1d01db04642e 内容类型:文本/html;charset=UTF-8 Content-Transfer-Encoding:quoted-printable 测试邀请 =C3=A0 d=C3=A9battre。Cliquez ici : Rejoindre ----==_mimepart_5c32651265cd8_16f563ff3a1d01db04642e--
任何帮助将非常感激 !
解决方案
如文档中所述,传递:content_type
也期望:body
将被传递(这将跳过模板渲染步骤)。因此,要正确呈现模板,我怀疑您需要删除content_type: "text/html"
:
mail(to: @to, subject: @subject)
推荐阅读
- java - Java中的守护进程线程数
- sql - 使用isql查询db2数据库,结果列值不正确
- android - 当响应包含超过 100 个 JSON 对象时,Volley REST API 获取请求错误
- yii2 - 为什么登录后用户在yii2中同时保留角色guest和user?
- php - 尝试在一个视图中进行登录+恢复密码+注册 Yii2
- node.js - 在猫鼬中为朋友模式建模?
- llvm - 将局部变量传递给函数 llvm
- php - 在 php 中使用 OR 条件与 in_array 进行验证
- node.js - 猫鼬 findOneandUpdate 在 findOne 中运行了两次
- ios - iOS iMessage 扩展 - willTransition: to 和 didTransition:to 没有被调用