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。
答案 0 :(得分:24)
尝试将文件重命名为sample_data.rake。
通过将代码放在lib / tasks中名为testomatic.rake的文件中,我能够让您的示例正常工作(用p语句替换任务的内部)。
答案 1 :(得分:3)
我也有这个问题。在Finder中,文件名是sample_data.rake,但是在单击文件的“获取信息”后,我发现完整的文件名是sample_data.rake.erb - 确保这不是您的问题。
答案 2 :(得分:1)
Noobie在这里有同样的问题 - 我的分支命名与我合并分支时的想法不同,因此在我创建lib/tasks/sample_data.rake
文件之前它又恢复为旧文件。
只需返回并使用正确的名称重新运行git merge
并{Her} push
就可以使用它。