【问题标题】:ActionView::MissingTemplate: Missing template signup_mailer/welcome_message with "mailer". Searched in: * "signup_mailer"ActionView::MissingTemplate:缺少带有“mailer”的模板 signup_mailer/welcome_message。搜索:*“signup_mailer”
【发布时间】: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') =&gt; 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


【解决方案1】:

你可以试试这个。

class SignupMailer < ActionMailer::Base
  default from: 'hello@companycam.com' 
  layout "welcome_message"

  def welcome_message(company, user)
    @company = company
    @user = user
    @web_url = root_url
    mail(to: @company.email, subject: 'Welcome to CompanyCam')
  end
end

【讨论】:

    猜你喜欢
    • 2018-02-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多