10
  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

私は現在、lib / tasks/sample_data.rbにこのrakeタスクを持っています

実行するrake db:populateと、エラーが発生しますDon't know how to build task 'db:populate'。これを回避するにはどうすればよいですか?

注:私はRails/Rubyの初心者です。Rails3を使用しています。

4

3 に答える 3

24

ファイルの名前を sample_data.rake に変更してみてください。

コードをlib/tasksのtestomatic.rakeというファイルに入れることで、あなたの例を機能させることができました(タスクの内部をapステートメントに置き換えます)。

于 2011-03-17T04:06:48.010 に答える
3

私もこの問題を抱えていました。Finder では、ファイル名は sample_data.rake でしたが、ファイルの [情報を見る] をクリックすると、完全なファイル名が sample_data.rake.erb であることがわかりました。これは問題ではないことを確認してください。

于 2011-04-13T19:14:52.373 に答える
1

ここで同じ問題を抱えているNoobie - 私のブランチは、ブランチをマージしたときに思っていたものとは異なる名前が付けられていたため、ファイルを作成する前に古いファイルに戻りましたlib/tasks/sample_data.rake.

git merge戻って正しい名前で再実行し、 pushHeroku に ing するだけで機能しました。

于 2013-10-27T21:49:21.543 に答える