Passing arguments to a method in Rake Task
本问题已经有最佳答案,请猛点这里访问。
我有一个rake任务,其中我从命令行获取两个参数,我需要将这些参数传递给任务中的方法。我该怎么做?
1 2 3 4 5 6 7 8 9 10 | namespace :auto_sales_commission do desc"Process for Daily Summary Commission" task :daily_sales_commission,[:arg1, :arg2] => :environment do |t,args| #some code end def get_date(arg1,arg2) #some code end end |
您可以像访问哈希参数(1)一样访问该参数:
1 2 3 4 5 6 7 8 | task :daily_sales_commission, [:arg1, :arg2] do |t,args| #args can be treated like a hash. get_date(args[:arg1], args[:arg2]) #<- call your method end def get_date(arg1,arg2) #some code end |
这些参数不是常见的命令行参数,必须将它们直接用作rake参数的参数。示例以1和2作为参数值:
1 | rake daily_sales_commission[1,2] |
(1)它不是哈希,而是rake::taskArguments对象。但也可以使用