неинициализированная константа ActiveRecord из гема exception_notification - PullRequest
0 голосов
/ 20 июня 2011

Я использую уведомитель об исключениях, как это в моих рельсах 3.0.7-

gem 'exception_notification_rails3', :require => 'exception_notifier'

Это приложение использует mongoid, а не ActiveRecord.Но когда я пытаюсь открыть рельсы c, выдается следующая ошибка:

Could not load SystemTimer >= v1.2.0. Falling back to timeout.rb. SystemTimer is STRONGLY recommended for timeouts in Ruby 1.8.7. See http://ph7spot.com/blog/system-timer-1-2-release for details.
/var/lib/gems/1.8/gems/exception_notification_rails3-1.2.0/lib/exception_notifier.rb:8:in `default_ignore_exceptions': uninitialized constant ActiveRecord::RecordNotFound (NameError)
from /var/lib/gems/1.8/gems/exception_notification_rails3-1.2.0/lib/exception_notifier.rb:7:in `tap'
from /var/lib/gems/1.8/gems/exception_notification_rails3-1.2.0/lib/exception_notifier.rb:7:in `default_ignore_exceptions'
from /var/lib/gems/1.8/gems/exception_notification_rails3-1.2.0/lib/exception_notifier.rb:30:in `initialize'
from /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/stack.rb:33:in `new'
from /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/stack.rb:33:in `build'
from /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/stack.rb:79:in `build'
from /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:209:in `inject'
from /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/stack.rb:79:in `each'
from /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/stack.rb:79:in `inject'
from /var/lib/gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/stack.rb:79:in `build'
from /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:162:in `build_middleware_stack'
from /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/application/finisher.rb:35
from /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:25:in `instance_exec'
from /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:25:in `run'
from /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:50:in `run_initializers'
from /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:49:in `each'
from /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:49:in `run_initializers'
from /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:134:in `initialize!'
from /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:77:in `send'
from /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:77:in `method_missing'
from /home/rtdp/workspace/bids/config/environment.rb:5
from /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:103:in `require_environment!'
from /var/lib/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:22
from script/rails:6:in `require'
from script/rails:6

Я попытался найти это, но не смог найти ничего связанного.Спасибо.

ОБНОВЛЕНИЕ - Я только что зарегистрировался в файле /var/lib/gems/1.8/gems/exception_notification_rails3-1.2.0/lib/exception_notifier.rb.Этот файл имеет код -

exceptions << ActiveRecord::RecordNotFound if defined? ActiveRecord

Так прокомментировал это и проверил.Сейчас система работает.Так что это означает, что моя активная запись где-то объявляется.Я подтвердил это на консоли.

В моем файле application.rb есть это -

require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "rails/test_unit/railtie"

Теперь, что может быть причиной включения ActiveRecord и последующего сбоя Уведомителя Исключений?

Ответы [ 3 ]

3 голосов
/ 05 августа 2011

People, http://github.com/rails/exception_notification больше не является официальным репозиторием exception_notification.См. Примечание на домашней странице.

Официальный репо теперь лежит на http://github.com/smartinez87/exception_notification

Если вы сделаете gem install exception_notification, он оттуда вытянет камень.Эта проблема уже устранена там, если нет, пожалуйста, сообщите о проблеме там.

Спасибо!

0 голосов
/ 08 июля 2011

Эрик Холленсбе исправил эту ошибку в своем персональном форке элемента-исключения_. Его решение отлично сработало для меня под Rails 3.0.9 и Ruby 1.9.2p180.

0 голосов
/ 22 июня 2011

Я обнаружил, что какой-то другой драгоценный камень включал ActiveRecord в качестве зависимости, и это вызывало сбой.Я удалил этот драгоценный камень, и теперь все в порядке.

...