Задача rake Rails 3 не может найти модель в производственной среде

Моя простая задача rake, хранящаяся в lib / tasks / items_spider.rake , отлично работает в разработке. Все, что он делает, это вызывает spider! в модели Item .

namespace :items do
  desc "Spider the web for data, hoorah"
  task :spider => :environment do
    Item.spider!
  end
end

У меня есть задача : environment в качестве зависимости, поэтому все работает нормально. Однако, когда я добавляю RAILS_ENV = production , я получаю ошибки, как на моем локальном сервере, так и на рабочем сервере:

$ rake items:spider RAILS_ENV=production --trace
(in /home/matchu/Websites/my-rails-app)
** Invoke items:spider (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute items:spider
rake aborted!
uninitialized constant Object::Item
/home/matchu/.rvm/gems/ruby-1.9.2-preview3@rails3/gems/rake-0.8.7/lib/rake.rb:2503:in `const_missing'
/home/matchu/.rvm/gems/ruby-1.9.2-preview3@rails3/gems/rspec-core-2.0.0.beta.22/lib/rspec/core/backward_compatibility.rb:20:in `const_missing'
/home/matchu/.rvm/gems/ruby-1.9.2-preview3@rails3/gems/rspec-expectations-2.0.0.beta.22/lib/rspec/expectations/backward_compatibility.rb:6:in `const_missing'
/home/matchu/Websites/openneo-impress-items/lib/tasks/items_spider.rake:4:in `block (2 levels) in <top (required)>'
/home/matchu/.rvm/gems/ruby-1.9.2-preview3@rails3/gems/rake-0.8.7/lib/rake.rb:636:in `call'
[...trace of how rake gets to my task...]

Мне это кажется странным. Видимо модели не правильно загрузились. Я использую Rails 3.0.3, хотя разработка этого приложения началась еще тогда, когда Rails 3 находился в стадии бета-тестирования. Как я могу решить эту проблему? Спасибо!

26
задан Matchu 29 November 2010 в 01:47
поделиться