2011-07-20 1 views
0

Je ne peux pas exécuter la tâche rake dans mon projet. Je reçois toujours le message d'erreur suivant:Rake => méthode non définie `to_sentence 'pour # <Array: 0x10153ca08>

rake aborted! 
undefined method `to_sentence' for #<Array:0x10153c800> 
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rails-2.3.11/lib/tasks/rails.rb:10 
/Users/username/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' 
/Users/username/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' 
/Users/username/Documents/project/Rakefile:10 
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2383:in `load' 
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rakefile' 
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2017:in `load_rakefile' 
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2016:in `load_rakefile' 
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2000:in `run' 
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:1998:in `run' 
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/bin/rake:31 
/Users/username/.rvm/gems/ruby-1.8.7-p334/bin/rake:19:in `load' 
/Users/username/.rvm/gems/ruby-1.8.7-p334/bin/rake:19 

rubis 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10.8.0]

Rails 2.3.11

râteau version 0.8.7

J'ai essayé avec rake 0.9.2 et/ou ruby ​​1.9.2 sans plus de succès.

Voici le contenu de mon Rakefile:

# Add your own tasks in files placed in lib/tasks ending in .rake, 
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. 

require(File.join(File.dirname(__FILE__), 'config', 'boot')) 

require 'rake' 
require 'rake/testtask' 
require 'rdoc/task' 

require 'tasks/rails' 

Merci pour votre aide!

Répondre

0

S'il s'agit d'une tâche Rake personnalisée ... l'extension to_sentence vers Array est définie dans Rails, vous devez donc vous assurer que vous chargez Rails.

Assurez-vous que vous chargez l'environnement dans votre tâche Rake:

task :my_task => :environment do 
... 

Si ce n'est pas une tâche Rake personnalisée, alors il semble y avoir quelque chose de mal avec votre environnement. Essayez d'améliorer RVM.

+0

Bonjour, je ne comprends pas vraiment votre réponse. Où devrais-je ajouter ceci? J'exécute actuellement mes tâches de rake directement dans mon projet. Exemple: rake db: migrate – Hrk

+0

rake db: migrate fonctionne mais votre erreur provient d'une tâche de rake 'custom'? – house9

+0

Non, même rake db: migrate fait le même message d'erreur – Hrk

0

Si vous avez installé Bundler essayez

bundle exec rake --tasks 

Je ne sais pas si cela va aider, mais la peine d'essayer.

+0

même message d'erreur :( – Hrk

Questions connexes