Я хочу вызвать свою задачу rake с консоли. Это выполнимо? если да, то как это сделать?
Я пробовал это на консоли:
require 'rake'
Rake::Task['my_task'].invoke
но это дает мне эту ошибку:
RuntimeError: Don't know how to build task
как будто грабли не нашли задачу.
любая помощь будет оценена.
Спасибо
Изменить: я использую рельсы 2.3.5
.invoke
и.execute
, если вам нужно запустить задачу несколько раз (например, средство проверки работоспособности данных с приложением, запуск которого занимает слишком много времени), тогда вы захотите выполнить.execute
задачу..invoke(arg1, arg2,...)
Самый простой способ сделать это - запустить% x [ command ] из irb. Я не уверен, чего вы хотите достичь.
РЕДАКТИРОВАТЬ: Я настоятельно рекомендую использовать,
.invoke
как сказал Даниэль в принятом ответе.источник
invoke
лучше и эффективнее.Самый простой способ:
Rails.application.load_tasks Rake::Task['my_task'].invoke
источник
Я использую
rails 5.x.x
и нуждался в такой же формеrails console
.У меня есть задача создать рейк здесь -
Вот команда сработала для меня -
Загрузить
Rails.application.load_tasks
Сработало у меня!
источник
Просто обратите внимание, что если вы находитесь в консоли rails,
rails c
вы можете просто вызвать / запустить метод задачи rake с помощьюirb(main):001:0> TaskClassName.new.my_task
источник