rails generate example commands ruby-on-rails ruby rake

ruby on rails - generate - Rails cómo ejecutar la tarea de rake



ruby on rails rake (6)

¿Has probado el rake reklamer:iqmedier ?

Mis tareas de rastrillo personalizadas están en el directorio lib, no en lib / tasks. No estoy seguro si eso importa.

¿Cómo ejecuto este archivo de rastrillo en terminal / consola?

mi statistik.rake en lib / tareas

desc "Importer statistikker" namespace :reklamer do task :iqmedier => :environment do ... end task :euroads => :environment do ... end task :mikkelsen => :environment do ... end task :orville => :environment do ... end end


A veces, tus tareas de rake no se cargan en la consola, en ese caso puedes probar los siguientes comandos

require "rake" YourApp::Application.load_tasks Rake::Task["Namespace:task"].invoke



En los carriles 4.2 los métodos anteriores no funcionaron.

  1. Ve a la terminal.
  2. Cambie el directorio a la ubicación donde está presente su archivo de rastrillo.
  3. ejecuta rake task_name.
  4. En el caso anterior, ejecute rake iqmedier - solo ejecutará la tarea iqmedir.
  5. Ejecutar rake euroads - se ejecutará sólo la tarea euroads.
  6. Para ejecutar todas las tareas en ese archivo, asigne lo siguiente dentro del mismo archivo y ejecute rake all

    task :all => [:iqmedier, :euroads, :mikkelsen, :orville ] do #This will print all the tasks o/p on the screen end


No debe ejecutar tareas de Rake en la consola de Rails, sino en la Terminal / Símbolo del sistema ejecutando

rake task_name

Si realmente debes ejecutar una tarea de Rake en Ruby, deberías poder hacer:

Rake::Task[''task_name''].invoke

pero eso generalmente solo se hace en una tarea de Rake para ejecutar otra.

Para ejecutar varias tareas en el mismo espacio de nombres con una sola tarea, cree la siguiente tarea nueva en su espacio de nombres:

task :runall => [:iqmedier, :euroads, :mikkelsen, :orville ] do # This will run after all those tasks have run end


Rake::Task[''reklamer:orville''].invoke

o

Rake::Task[''reklamer:orville''].invoke(args)