gpt4 book ai didi

ruby-on-rails - 邮件预览中的固定装置

转载 作者:行者123 更新时间:2023-12-03 18:05:18 25 4
gpt4 key购买 nike

具有以下邮件程序预览器代码:

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文件顶部的任何内容。 IE。:

class RegistrationMailerPreview < ActionMailer::Preview
def welcome
user = FactoryBot.create(:user)
RegistrationMailer.welcome(user)
end
end

要回答你的第二个问题,你也可以简单地用 user = User.new(firstname: "Joe") 替换上面的夹具线。 .这将创建一个新用户以在预览中使用,而无需将其持久化到数据库中。

关于ruby-on-rails - 邮件预览中的固定装置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39515107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com