Rails 4.1和exception_notification-rake gem导致未初始化的常量ExceptionN



我已经升级到Rails 4.1,并正在尝试设置exception_notification-rake gem,以便通过电子邮件通知我rake任务失败。

在我的Gemfile中,我有gem 'exception_notification-rake'

development.rb中,我有以下内容:

MyApp::Application.configure do
  # Settings specified here will take precedence over those in config/application.rb.
  # In the development environment your application's code is reloaded on
  # every request. This slows down response time but is perfect for development
  # since you don't have to restart the web server when you make code changes.
  config.cache_classes = false
  # Do not eager load code on boot.
  config.eager_load = false
  # Show full error reports and disable caching.
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false
  # Don't care if the mailer can't send.
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  # Specify what domain to use for mailer URLs
  config.action_mailer.default_url_options = {host: "localhost:3000"}
  config.action_mailer.smtp_settings = {
      :address              => 'smtp.gmail.com',
      :port                 => 587,
      :domain               => 'gmail.com',
      :user_name            => Rails.application.secrets.email['user'],
      :password             => Rails.application.secrets.email['pass'],
      :authentication       => 'login',
      :enable_starttls_auto => true
  }
  # Print deprecation notices to the Rails logger.
  config.active_support.deprecation = :log
  # Raise an error on page load if there are pending migrations
  config.active_record.migration_error = :page_load
  # Debug mode disables concatenation and preprocessing of assets.
  # This option may cause significant delays in view rendering with a large
  # number of complex assets.
  config.assets.debug = true
  config.after_initialize do
    Bullet.enable = true
    Bullet.alert = true
    Bullet.bullet_logger = true
    Bullet.console = true
    # Bullet.growl = true
    Bullet.rails_logger = true
    Bullet.add_footer = true
  end
  config.middleware.use ExceptionNotification::Rack,
    :ignore_if => lambda { |env, exception| !env[:rake?] },
    :email => {
      :sender_address => %{"notifier" myemail@gmail.com},
      :exception_recipients => %w(myemail@gmail.com)
    }
    ExceptionNotifier::Rake.configure
end

正如您所看到的,我使用Rails4.1的secrets.yml文件传递用户和密码。当我尝试启动Rails服务器时,我会得到以下错误:

/development.rb:52:in `
block in <top (required)>': uninitialized constant ExceptionNotification (NameError)

我猜这是exception_notification-rakegem中的一个错误,它调用了exception_nnotification的早期版本,但我不确定。如有任何帮助,我们将不胜感激!

谢谢:)

更新:

我已经通知了exception_notification-rakegem开发人员这件事。我有所有必备的gem,并且有一个相当普通的设置,所以我认为这可能是Rails4.1

需要修复的错误

从本期文章中可以看出,当前发布的ExceptionNotification版本不适用于rails 4.1

在新版本发布之前,您只能使用主版本。在你的Gemfile中包括你的宝石如下:

gem 'exception_notification', github: 'smartinez87/exception_notification'

维护人员发布了一个rc版本,您可以按照以下使用它

gem 'exception_notification', '4.1.0.rc1'

一旦新的gem版本发布,你就可以切换到发布的版本(4.1.0)。我想这应该不会花太长时间;)

相关内容

  • 没有找到相关文章

最新更新