Estoy tratando de crear una tarea de rake personalizada, pero parece que no tengo acceso a mis modelos. Pensé que esto era algo implícitamente incluido con la tarea de rieles.¿Las tareas de rastrillar raíles proporcionan acceso a los modelos de ActiveRecord?
Tengo el siguiente código en lib/tareas/test.rake:
namespace :test do
task :new_task do
puts Parent.all.inspect
end
end
Y aquí es lo que parece mi padre modelo como:
class Parent < ActiveRecord::Base
has_many :children
end
Es un ejemplo bastante simple, pero recibe el siguiente error:
/> rake test:new_task
(in /Users/arash/Documents/dev/soft_deletes)
rake aborted!
uninitialized constant Parent
(See full trace by running task with --trace)
¿Alguna idea? Gracias
Esto funcionará, ¡pero romperá el rastrillo en general! Después de agregar este cambio, intente rake -T sin una base de datos disponible. rake -T debería proporcionar una lista de tareas de rake sin necesidad de acceder a la base de datos. – irkenInvader
Después de hacer esto, encontrará que cualquier otra tarea de rake que requiera inicializar la aplicación (es decir, activos de rake: precompilación) fallará con "rake aborted! La aplicación ya se ha inicializado". – brent