Rails 3, la tâche rake ne pouvez pas trouver un modèle de production

Mon simple tâche rake, stockées dans lib/tasks/items_spider.rake fonctionne très bien en développement. Il fait appel spider! sur le Item modèle.

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

J'ai le :environment tâche comme une dépendance, donc tout fonctionne bien. Cependant, lorsque j'ajoute RAILS_ENV=production, j'ai frappé à des erreurs, à la fois sur mon serveur local et sur le serveur de 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...]

Cela semble juste bizarre pour moi. Apparemment, les modèles n'ont pas été chargé correctement. Je suis sur des Rails 3.0.3, si le développement sur cette application a commencé lorsque Rails 3 est en version bêta. Comment puis-je aller sur le débogage de ce problème? Merci!

  • Pour atteindre un peu ici, mais avez-vous essayé de déplacer le RAILS_ENV déclaration au début de la commande?
  • non 🙁 Merci!
  • Où est le Item modèle gardé? L'habitude spot?
  • mhm. app/models/item.rb
  • D'aller au lit maintenant; c'est en quelque sorte seulement maintenant eu lieu pour moi de tester avec d'autres modèles. Vais essayer ça demain 🙂 Merci!
  • Voir cette réponse.

InformationsquelleAutor Matchu | 2010-11-29