Аутлогическая проблема в производственном режиме: неопределенная локальная переменная или метод acts_as_authentic для имени класса - PullRequest
0 голосов
/ 13 сентября 2010

Я использую камень AuthLogic в своем приложении rails.Он отлично работает в среде разработки, но когда я переключаюсь на производственную среду, я получаю ошибку, препятствующую запуску приложения:

/home/.../rails/xxx/app/models/book.rb:2: undefined local variable or method `acts_as_authentic' for Book:Class (NameError)
        from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
        from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from /home/.../ruby/gems/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:158:in `require'
        from /home/.../ruby/gems/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:265:in `require_or_load'
        from /home/.../ruby/gems/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:224:in `depend_on'
        from /home/.../ruby/gems/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:136:in `require_dependency'
        from /home/.../ruby/gems/gems/rails-2.3.8/lib/initializer.rb:414:in `load_application_classes'
        from /home/.../ruby/gems/gems/rails-2.3.8/lib/initializer.rb:413:in `each'
        from /home/.../ruby/gems/gems/rails-2.3.8/lib/initializer.rb:413:in `load_application_classes'
        from /home/.../ruby/gems/gems/rails-2.3.8/lib/initializer.rb:411:in `each'
        from /home/.../ruby/gems/gems/rails-2.3.8/lib/initializer.rb:411:in `load_application_classes'
        from /home/.../ruby/gems/gems/rails-2.3.8/lib/initializer.rb:197:in `process'
        from /home/.../ruby/gems/gems/rails-2.3.8/lib/initializer.rb:113:in `send'
        from /home/.../ruby/gems/gems/rails-2.3.8/lib/initializer.rb:113:in `run'
        from ./public/../config/environment.rb:28
        from ./public/dispatch.fcgi:21:in `require'
        from ./public/dispatch.fcgi:21

Я использую authlogic (2.1.5) и rails (2.3.8))

Ошибка возникает только в производственной среде, даже если моя производственная база и база данных разработчика идентичны.Та же проблема на локальном хосте, что и на веб-сервере.Я был бы очень признателен за любую помощь, которую я могу получить с этим.Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.Большое спасибо!

Отредактировано 15 сентября: Спасибо за ответы.Это заморожено в моем приложении.Я не уверен, как проверить, что он установлен таким образом, чтобы быть доступным для пользователя, на котором я запускаю свой веб-сервер.Вот выходные данные rake gems RAILS_ENV = production:

rake gems RAILS_ENV=production
(in /Users/my_user_name/Sites/my_app_name)
 - [F] authlogic 
    - [R] activesupport 
 - [F] acts-as-taggable-on = 2.0.0.rc1
 - [R] rails 
 - [F] will_paginate 
 - [I] nokogiri 

I = Installed
F = Frozen
R = Framework (loaded before rails starts)

Отредактировано 17 сентября: Я попытался разморозить камни и получил ту же ошибку.

1 Ответ

0 голосов
/ 13 сентября 2010

Установлен ли authlogic gem в вашей производственной среде или заморожен в вашем приложении? Кроме того, он установлен таким образом, чтобы быть доступным для пользователя, которым вы запускаете свой веб-сервер? (Извините, если вы уже проверили это, но имеет смысл начать с начала)

Наконец, стоит проверить, что ваш config.gem "authlogic" вызов в environment.rb перед любым использованием вашего Book класса, который, кажется, вызывает проблему.

...