邮件预览中的灯具
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了邮件预览中的灯具相关的知识,希望对你有一定的参考价值。
拥有以下邮件程序预览代码:
class RegistrationMailerPreview < ActionMailer::Preview
# Preview this email at http://localhost:3000/rails/mailers/registration_mailer/welcome
def welcome
RegistrationMailer.welcome users(:one)
end
end
(完整档案)。
哪个无法到达我的灯具(users(:one)
),返回500错误状态并打印出以下错误:
NoMethodError: undefined method `users' for #RegistrationMailerPreview
我们可以从邮件预览器中获取灯具条目吗?
如果是的话,我想知道该怎么做。
我已经看到应该是可能的here,但我不能在这个文件中要求test_helper
(我不知道为什么),我不明白ActionMailer::TestCase
和ActionMailer::Preview
之间的区别。
如果不是,有没有办法预览邮件而不作为参数User.first
发送,因为我可以在数据库中没有数据填充的机器上进行测试。
答案
我不知道默认的夹具框架,但我可以说使用FactoryBot为我的夹具我只能通过使用FactoryBot
预先构建/创建方法在我的邮件预览中使用它们。我不需要require
文件顶部的任何内容。即:
class RegistrationMailerPreview < ActionMailer::Preview
def welcome
user = FactoryBot.create(:user)
RegistrationMailer.welcome(user)
end
end
要回答你的第二个问题,你也可以简单地用user = User.new(firstname: "Joe")
替换上面的夹具线。这将创建一个在预览中使用的新用户,而不会将其持久保存到数据库中。
以上是关于邮件预览中的灯具的主要内容,如果未能解决你的问题,请参考以下文章