尝试使用Sidekiq发送电子邮件时,我收到此错误
ActionView :: MissingTemplate:使用“邮件程序”缺少模板campaign_mailer / hugh_email。搜索:*“campaign_mailer”
在控制器中
CampaignMailer.hugh_email(email, user).deliver_later
在campaign_mailer.rb
中layout 'mailer'
def hugh_email(email, user)
mail(to: @user.email, subject: email.subject)
end
app/views/campaign_mailer/hugh_email.html.slim
有html,我在layouts/mailer
注意:我已经尝试了所有可以找到的内容,甚至重新生成了邮件程序。当我使用deliver_now
发送时,它似乎与新邮件一起使用,但是一旦我尝试deliver_later
,错误就会返回(即使回到尝试deliver_now
时)。
更新
我对此的解决方案可能对大多数人没有帮助,但我会在这里添加它以防万一。
我现在将电子邮件保存在我的系统上,并使用CampaignMailer.hugh_email(email.subject, html).deliver_later
将html传递到邮件程序。在campaign_mailer.rb
我运行
mail(to: to_address, subject: email_subject) do |format|
format.text { render(text: "") }
format.html { html }
end
再一次,不幸的是,这可能无法帮助大多数人解决这个问题。但我基本上通过指定html而不是使用邮件程序视图来解决问题。
答案 0 :(得分:0)
hugh_email.html.slim 必须在
/app/views/campaign_mailer/hugh_email.html.slim
mailer.html.slim
/app/views/layouts/mailer.html.slim
mailer.text.erb
/app/views/layouts/mailer.text.erb