【发布时间】:2016-08-26 14:53:25
【问题描述】:
我正在使用 Sidekiq 异步发送我的电子邮件,但一直有关于无法找到电子邮件模板的错误。它并不一致,因为它有时会起作用(例如我在测试时)。你可以看到我什至尝试过指定模板的路径和名称。
我在 Honeybadger 中收到的错误是:ActionView::MissingTemplate: Missing template signup_mailer/welcome_message with "mailer". Searched in: * "signup_mailer"
app/mailers/signup_mailer.rb
class SignupMailer < ActionMailer::Base
default from: 'hello@companycam.com'
def welcome_message(company, user)
@company = company
@user = user
@web_url = root_url
mail(to: @company.email, subject: 'Welcome to CompanyCam', template_path: 'signup_mailer', template_name: 'welcome_message')
end
end
您可以在图片中看到实际上有一个名为welcome_message.html.erb 的视图,文本版本也位于app/views/signup_mailer/
【问题讨论】:
-
从
mail(to: @company.email, subject: 'Welcome to CompanyCam', template_path: 'signup_mailer', template_name: 'welcome_message') => to mail(to: @company.email, subject: 'Welcome to CompanyCam')更改 -
原来是这样的,但是还是不行。这就是我尝试手动设置信息的原因。
-
任何潜在的解决方案here 对您有用吗?
-
不幸的是,我已经尝试了所有这些,但它不起作用。旁注,这是在生产中
-
您是否尝试重新启动 Sidekiq?也许它仍在使用旧版本的代码?请连接到您的 Rails 控制台并尝试执行
SignupMailer.welcome_message(random_company, random_user)
标签: ruby-on-rails ruby-on-rails-5