MailGun + Devise + Rails =“未初始化的常数MyMailer :: MailGun”?

我正在使用Devise进行身份验证,并使用mailgun-ruby gem来发送电子邮件,并且我很难确定如何使Devise的默认邮件程序类与Mailgun一起使用。根据mailgun文档,我已将 production.rb 文件配置为使用mailgun设置:

config.action_mailer.delivery_method = :mailgun
config.action_mailer.mailgun_settings = {
 api_key: ENV['MAILGUN_API_KEY'],domain: 'mail.mywebsite.com'
}

然后在我的mailer类中,我需要gem并实例化一个Mailgun::Client对象。

class MyMailer < Devise::Mailer
  require 'mailgun-ruby'
  helper :application
  include Devise::Controllers::UrlHelpers
  default template_path: 'users/mailer'

 def confirmation_instructions(record,token,opts={})
  mg_client = MailGun::Client.new
  message_params = {
   from: "me@mywebsite.com",to: record.email,subject: "Please confirm your account"
  }

  mg_client.send_message message_params

  super
 end
end

我注释了 devise.rb 初始化程序中的config.mailer = 'MyMailer'行,但是出于某种原因,Rails希望将MailGun作为MyMailer的子类。为什么是这样?错误出现在标题-uninitialized constant MyMailer::MailGun中。

x5w2j0 回答:MailGun + Devise + Rails =“未初始化的常数MyMailer :: MailGun”?

看起来您的代码中有拼写

mg_client = Mailgun::Client.new

应该是

var data = res.json(data),endResult = [];
for(key in data) {
    endResult[key] = data[key]["Color"];
}
return endResult; 
本文链接:https://www.f2er.com/3166335.html

大家都在问