Как запускать задачи rake из консоли?



Я хочу вызвать свою задачу rake из консоли. Это выполнимо? если да, то как это сделать?



я попробовал это на консоли:



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


но это дает мне эту ошибку:



RuntimeError: Don't know how to build task


это как грабли не может найти задачу.



любая помощь будет оценили.



спасибо



Edit: я использую рельсы 2.3.5

673   4  

4 ответов:

выполнение ваших задач рейка требует двух шагов:

  1. загрузка грабли
  2. загрузка Rake задачи

вы пропускаете второй шаг.

обычно это делается в Rakefile, но вы должны сделать это вручную, здесь:

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

(убедитесь, что вы замените MyRailsApp С именем приложения Rails.)

самый простой способ сделать это-запустить %x[команда] из irb. Я не уверен, если то, что вы хотите достичь.

%x[rake db:migrate]

EDIT: я настоятельно рекомендую использовать .invoke Как говорит Даниил в принятом ответе.

самый простой способ это:

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

просто обратите внимание, что если вы находитесь в консоли rails через rails c вы можете просто вызвать/запустить метод rake task by irb(main):001:0> TaskClassName.new.my_task

Comments

    Ничего не найдено.