【发布时间】:2016-04-04 13:29:58
【问题描述】:
我在我的项目中设置了ActionMailer::Base defaults,如下所示:
class DirectorMailer < ActionMailer::Base
default to: Director.pluck(:email)
end
当我在development 环境中尝试此操作时,运行成功,因为我的数据库中已经有 Director。当我运行我的测试时会出现问题,因为 ActionMailer 在我填充我的测试数据库之前默认加载,并且设置为一个空数组。我收到以下错误:
ArgumentError:发送邮件需要 SMTP 收件人地址。设置消息 smtp_envelope_to、to、cc 或 bcc 地址。
有没有办法从我的测试中重新加载 ActionMailer::base 默认值?还是应该在每个mail 方法中设置to 参数?
【问题讨论】:
-
最后,我决定在每个
mail方法中设置to参数,以获取最新的Directoremails 数组,但问题仍未得到解答,所以我将保持开放状态直到我找到解决方法。 -
我也有同样的问题。看起来我们已经非常规了;)
标签: ruby-on-rails rspec actionmailer