【发布时间】:2017-06-02 22:03:27
【问题描述】:
我正在关注 Hartl Rails 教程 v5.0.1,但遇到了一个(大概)需要指定编码的 Mailer 测试。
相关的测试子句(我在任何一行都得到了类似的错误):
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)。 -
最好编辑您的问题并在那里添加代码,而不是提供外部链接。
标签: ruby-on-rails encoding email-validation