Как построить задачу 'db: populate' - PullRequest
10 голосов
/ 17 марта 2011
  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.

Ответы [ 3 ]

24 голосов
/ 17 марта 2011

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

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

3 голосов
/ 13 апреля 2011

У меня тоже была эта проблема. В Finder имя файла было sample_data.rake, но после нажатия «Get Info» для файла я обнаружил, что полное имя файла - sample_data.rake.erb - убедитесь, что это не ваша проблема.

1 голос
/ 28 октября 2013

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

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

...