run rails generate console rake

console - rails - ¿Cómo ejecutar tareas de rake desde la consola?



rails generate controller (4)

Ejecutar tus tareas de Rake requiere dos pasos:

  1. Cargando rastrillo
  2. Cargando tus tareas de Rake

Te estás perdiendo el segundo paso.

Normalmente esto se hace en el Rakefile, pero tienes que hacerlo manualmente aquí:

require ''rake'' MyRailsApp::Application.load_tasks # <-- MISSING LINE Rake::Task[''my_task''].invoke

(Asegúrese de reemplazar MyRailsApp con el nombre de su aplicación Rails).

Quiero invocar mi tarea de rake desde la consola. ¿Es factible? Si es así, ¿cómo hacerlo?

He intentado esto en la consola:

require ''rake'' Rake::Task[''my_task''].invoke

pero me da este error:

RuntimeError: Don''t know how to build task

Es como si el rastrillo no puede encontrar la tarea.

Cualquier ayuda sería apreciada.

Gracias

Edición: estoy utilizando rieles 2.3.5


La forma más fácil de hacerlo es ejecutar% x [ comando ] desde el irb. No estoy seguro si lo que quieres lograr sin embargo.

%x[rake db:migrate]

EDITAR: Recomiendo ampliamente usar .invoke como dice Daniel en la respuesta aceptada.


La forma más fácil es:

Rails.application.load_tasks Rake::Task[''my_task''].invoke


Solo tenga en cuenta que si está en la consola de los rieles a través de los rails c , puede llamar / ejecutar el método de tarea de rake mediante irb(main):001:0> TaskClassName.new.my_task