Rake => неопределенный метод `to_sentence' для #‹Array:0x10153ca08›

Я не могу выполнить задачу rake в своем проекте. Я всегда получаю следующее сообщение об ошибке:

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

ruby 1.8.7 (уровень исправления 334 18 февраля 2011 г.) [i686-darwin10.8.0]

Рельсы 2.3.11

грабли, версия 0.8.7

Я пробовал с rake 0.9.2 и/или ruby ​​1.9.2 без особого успеха.

Вот содержимое моего 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'

Спасибо за вашу помощь !


person Hrk    schedule 20.07.2011    source источник


Ответы (2)


Если у вас установлен бандлер, попробуйте

bundle exec rake --tasks

Не уверен, что это поможет, но стоит попробовать.

person house9    schedule 20.07.2011

Если это пользовательская задача Rake... расширение to_sentence для Array определено в Rails, поэтому вам нужно убедиться, что вы загружаете Rails.

Убедитесь, что вы загружаете среду в своей задаче rake:

task :my_task => :environment do
...

Если это не пользовательская задача Rake, значит, что-то не так с вашей средой. Попробуйте обновить RVM.

person Mark Thomas    schedule 20.07.2011
comment
Здравствуйте, я не очень понимаю ваш ответ. Где я должен добавить это? В настоящее время я выполняю свои рейк-задачи непосредственно в своем проекте. Пример: rake db:migrate - person Hrk; 20.07.2011
comment
rake db:migrate работает, но ваша ошибка возникает из-за «пользовательской» задачи rake? - person house9; 20.07.2011
comment
Если это исходит от стандартной команды Rails, с вашей установкой что-то серьезно не так. К счастью, вы используете RVM. Я бы попробовал новую настройку. - person Mark Thomas; 21.07.2011
comment
Пробую с чистой версией RVM на другом компе и все равно не работает - person Hrk; 21.07.2011
comment
Они оба Маки? Я использую ту же версию Rails, и никогда не сталкивался с этой проблемой в Ubuntu или Solaris. - person Mark Thomas; 21.07.2011