2015-08-06 12 views

Odpowiedz

18

można spróbować

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

czy można zrobić

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

dzięki odpowiedź pracuje dla mnie –

+0

Uwaga trzeba zadzwonić '.reenable' aby uruchomić to samo zadanie dwa razy. Zobacz http://stackoverflow.com/questions/22639194/invoking-the-same-rake-task-twice-in-rspec –

4

można przekazać w parametrach przez 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