使用来自其他任务的参数调用rake任务

时间:2015-08-06 14:50:25

标签: ruby-on-rails rake-task

我希望能够为我必须从另一个任务调用的任务传递参数

不带参数的调用对我来说是这样的:

Rake::Task["mytask1"].invoke

然而,对于这样的论点,它不会:

Rake::Task["mytask1[1,v18_0,20141230]"].invoke

由于

2 个答案:

答案 0 :(得分:33)

你可以尝试

Rake::Task[:my_task].invoke(1,'v18_0',20141230)

或者你可以做

Rake.application.invoke_task("my_task[1, 'v18_0', 20141230]")

答案 1 :(得分:5)

您可以通过invoke

传递参数
namespace :tester do
  desc "test"
  task :test, [:amount] => :environment do |task, args|
    puts "Your amount is #{args.amount}"
  end

  task :test_task do
    Rake::Task["tester:test"].invoke(100)
  end  
end

rake tester:test_task
Your amount is 100