我正在关注Hartl Rails教程,v5.0.1,并在Mailer测试中发现它(大概)需要指定的编码。Rails 5.1邮件编码错误
相关的测试条款(我得到任何行类似的错误):
assert_match user.reset_token, mail.body.encoded
assert_match CGI.escape(user.email), mail.body.encoded
产生的错误味精(部分):
Failure:
UserMailerTest#test_password_reset
[...demo/test/mailers/user_mailer_test.rb:30]:
Expected /6qyclXtvAeFin0htTK7t7g/ to match # encoding: US-ASCII
请注意,我用Rails 5.1。 1在我的本地回购。邮件模板使用默认的编码,无论它们是什么。
错误消息包含电子邮件模板的一长串字符串;我可以看到“charset = UTF-8”和“Content-Transfer-Encoding:7bit”。
MailerTest文件还检查用户令牌和CGI转义的电子邮件地址相同的组合用于帐户激活测试用例不存在问题。
有什么建议吗?至此,Hartl教程还没有深入研究编码。
请分享您正在测试的邮件程序文件(我假设它是'user_mailer.rb')及其模板(例如'some_mail.html.erb'和'some_mail.txt.erb')。 – Gerry
https://pastebin.com/67GS6Rwg –
它更好地编辑你的问题,并在那里添加代码,而不是提供一个外部链接。 – Gerry