Как создать задачу 'db: populate'

  1 namespace :db do
  2   desc "Fill database with sample videos"
  3   task :populate => :environment do
  4     require 'faker'
  5     Rake::Task['db:reset'].invoke
  6     100.times do |n|
  7       headline = Faker::Lorem.sentence(3)
  8       video = Faker::Lorem.words(5)
  9       Video.create!(:headline => headline,
 10                   :video => video)
 11     end
 12   end
 13 end

В настоящее время у меня есть эта задача rake в lib/tasks/sample_data.rb

При запуске rake db:populate я получаю ошибку, Don't know how to build task 'db:populate'. Как мне обойти это?

Примечания: Я новичок в Rails/Ruby. Я использую Rails 3.

Попробуйте переименовать файл в sample_data.rake.

Мне удалось заставить ваш пример работать (заменяя внутренности задачи оператором p), поместив ваш код в файл testomatic.rake в lib/tasks.

23
ответ дан 17 марта '11 в 7:06
источник

У меня также была эта проблема. В Finder имя файла было sample_data.rake, но после нажатия "Получить информацию" для файла я обнаружил, что полное имя файла было sample_data.rake.erb - убедитесь, что не ваша проблема.

3
ответ дан 13 апр. '11 в 22:14
источник

Noobie с той же проблемой здесь - моя ветка была названа иначе, чем я думал, когда я объединил ветки, поэтому она вернулась к старым файлам, прежде чем я создал файл lib/tasks/sample_data.rake.

Просто вернитесь и снова запустите git merge с правильным именем и push ing, чтобы Heroku заставил его работать.

1
ответ дан 28 окт. '13 в 0:49
источник