如何构建任务’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 

我目前在lib / tasks / sample_data.rb中有这个rake任务

运行rake db:populate我得到错误, Don't know how to build task 'db:populate' 。 我该如何解决这个问题?

注意:我是Rails / Ruby的新手。 我正在使用Rails 3。

尝试将文件重命名为sample_data.rake。

通过将您的代码放在lib / tasks中名为testomatic.rake的文件中,我能够让您的示例正常工作(用ap语句替换任务的内部)。

我也有这个问题。 在Finder中,文件名是sample_data.rake,但是在单击文件的“获取信息”后,我发现完整的文件名是sample_data.rake.erb – 确保这不是您的问题。

Noobie在这里有同样的问题 – 我的分支命名与我合并分支时的想法不同,所以在创建我的lib/tasks/sample_data.rake文件之前它又恢复到旧文件。

只需返回并重新运行git merge与正确的名称并push送到Heroku就可以了。