How to build task 'db:populate'

偶尔善良 提交于 2019-11-27 23:59:06

问题


  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

I currently have this rake task in lib/tasks/sample_data.rb

When running rake db:populate I get the error, Don't know how to build task 'db:populate'. How do I get around this?

Notes: I am a newbie in Rails/Ruby. I am using Rails 3.


回答1:


Try renaming the file to sample_data.rake.

I was able to get your example working (replacing the internals of the task with a p statement) by putting your code in a file called testomatic.rake in lib/tasks.




回答2:


I also had this problem. In Finder, the file name was sample_data.rake, but upon clicking "Get Info" for the file, I discovered the full file name was sample_data.rake.erb -- ensure that's not your problem.




回答3:


Noobie with the same problem here - my branch was named differently than what I thought when I merged branches, so it reverted back to the old files before I had created my lib/tasks/sample_data.rake file.

Simply going back and re-running git merge with the correct name and pushing to Heroku got it to work.



来源:https://stackoverflow.com/questions/5334520/how-to-build-task-dbpopulate

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!