/ / Ejecutar una tarea de rastrillo personalizado en los rieles - ruby-on-rails, ruby, rake, rake-task

Ejecutar una tarea de rastrillo personalizada en los rieles: ruby-on-rails, ruby, rake, rake-task

Estoy tratando de hacer una costumbre rake Tarea, pero parece que no puedo hacerlo funcionar. Mi código se ve así:

namespace :demotask do

desc "display the current environment of rake"
task :current_environment => :environment do
puts "You are running rake task in #{Rails.env} environment"
end

end

y se coloca en un archivo llamado test.rake debajo lib/tasks. los Rakefile está ahí, pero recibo este error al ejecutar la tarea en la consola:

NameError: undefined local variable or method "current_environment" for main:Object

Intenté reiniciar el servidor también.

Respuestas

1 para la respuesta № 1

Deberías usar el namespace para llamarlo desde la terminal, y probablemente sea una buena idea usar bundler:

bundle exec rake demotask:current_environment

Además, intente cambiar la definición de la tarea a:

task :current_environment => :environment do
...

Incluso => :environment Le dirá a Rake que cargue el entorno completo de la aplicación.