Ruby on rails 轨道-x27;未初始化常数';在ActionMailer拦截器中使用模型时

Ruby on rails 轨道-x27;未初始化常数';在ActionMailer拦截器中使用模型时,ruby-on-rails,ruby-on-rails-4,actionmailer,Ruby On Rails,Ruby On Rails 4,Actionmailer,我正在写一个小机制来处理电子邮件回退和投诉。 我基本上遵循一个解释如何实现这样一个机制 我正在创建并注册一个ActionMailer拦截器,以确保我要发送的电子邮件不会在我的应用程序中的模型/表格中标记为被拒绝或投诉 # In config/initializers/invalid_email_interceptor.rb class InvalidEmailInterceptor def self.delivering_email(message) if EmailRespons

我正在写一个小机制来处理电子邮件回退和投诉。 我基本上遵循一个解释如何实现这样一个机制

我正在创建并注册一个ActionMailer拦截器,以确保我要发送的电子邮件不会在我的应用程序中的模型/表格中标记为被拒绝或投诉

# In config/initializers/invalid_email_interceptor.rb

class InvalidEmailInterceptor
  def self.delivering_email(message)
    if EmailResponse.exists? email: message.to
      message.perform_deliveries = false
    end
  end
end

ActionMailer::Base.register_interceptor(InvalidEmailInterceptor)
当我尝试发送电子邮件时,出现以下错误:

未初始化常量InvalidMailInterceptor::EmailResponse

我的应用程序似乎在InvalidEmailInterceptor类中寻找EmailResponse,而不是我的应用程序模型

我试着玩不同的变奏

MyApp::EmailResponse

但我仍然会遇到同样的错误,甚至无法启动服务器

有什么想法吗

谢谢,

西蒙。

我不完全确定,但我的解决办法是:

  • 检查你的
    app/models/email_response.rb
    以确保模型已定义。注意:
    email\u响应
    not
    email\u响应

  • 如果是,那么您应该尝试:
    ::EmailResponse
    ,尽管我知道您的模型应该在初始值设定项中可用


  • 这是email_response.rb(缺少o)。。。我觉得很傻。谢谢我不会为此痛打自己。这可能发生在任何人身上。很高兴我能帮忙
    require 'email_response'