2011-03-17 11 views
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 

Actualmente tengo esta tarea rake en lib/tareas/sample_data.rb¿Cómo construir tarea 'db: poblar'

Cuando se ejecuta rake db:populate consigo el error, Don't know how to build task 'db:populate'. ¿Cómo puedo evitar esto?

Notas: Soy un novato en Rails/Ruby. Estoy utilizando Rails 3.

Respuesta

23

Intente cambiar el nombre del archivo a sample_data.rake.

Pude hacer funcionar su ejemplo (reemplazando las partes internas de la tarea con una declaración p) al poner su código en un archivo llamado testomatic.rake en lib/tasks.

+7

omg. Olvidé la extensión del archivo. –

+2

¡Hice lo mismo yo mismo! Siempre son las cosas simples las que me atrapan. –

3

También tuve este problema. En Finder, el nombre del archivo era sample_data.rake, pero al hacer clic en "Obtener información" para el archivo, descubrí que el nombre completo del archivo era sample_data.rake.erb: asegúrese de que ese no sea su problema.

1

Noobie con el mismo problema aquí - mi rama recibió un nombre diferente de lo que pensaba cuando fusioné ramas, por lo que volví a los archivos anteriores antes de crear mi archivo lib/tasks/sample_data.rake.

Simplemente retrocediendo y volviendo a ejecutar git merge con el nombre correcto y push ing Heroku lo puso a trabajar.

Cuestiones relacionadas