Как запускать задачи rake из консоли?
Я хочу вызвать свою задачу rake из консоли. Это выполнимо? если да, то как это сделать?
я попробовал это на консоли:
require 'rake'
Rake::Task['my_task'].invoke
но это дает мне эту ошибку:
RuntimeError: Don't know how to build task
это как грабли не может найти задачу.
любая помощь будет оценили.
спасибо
Edit: я использую рельсы 2.3.5
4 ответов:
выполнение ваших задач рейка требует двух шагов:
- загрузка грабли
- загрузка 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 через
rails cвы можете просто вызвать/запустить метод rake task byirb(main):001:0> TaskClassName.new.my_task
Comments