Подтвердить что ты не робот

Рельсы, как выполнить команду rake

Как запустить этот файл rake в терминале/консоли?

my statistik.rake в lib/tasks

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
4b9b3361

Ответ 1

Вы не должны запускать задачи Rake в консоли Rails, но вместо этого в командной строке Terminal/Command, запустив

rake task_name

Если вы действительно должны запустить задачу Rake в Ruby, вы должны иметь возможность:

Rake::Task['task_name'].invoke

но обычно это делается только в задаче Rake для запуска другого.

Чтобы запустить несколько задач в одном пространстве имен с одной задачей, создайте следующую новую задачу в своем пространстве имен:

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

Ответ 2

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

или

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

Ответ 3

Вы пробовали rake reklamer:iqmedier?

Мои пользовательские задачи rake находятся в каталоге lib, а не в lib/tasks. Не уверен, что это важно.

Ответ 5

В рельсах 4.2 вышеупомянутые методы не работали.

  • Перейдите в терминал.
  • Измените каталог в том месте, где присутствует ваш файл рейка.
  • запустите rake task_name.
  • В приведенном выше примере запустите rake iqmedier - запустите только задачу iqmedir.
  • запустить rake euroads - будет выполняться только задача euroads.
  • Чтобы выполнить все задачи в этом файле, выполните следующие действия внутри тот же файл и запустить rake all

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