将参数传递给 Rake Task 中的方法
Passing arguments to a method in Rake Task
我有一个 Rake 任务,其中我从命令行获取两个参数,我需要将这些参数传递给任务中的方法。我该怎么做?
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):
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为参数值:
rake daily_sales_commission[1,2]
(1) 它不是哈希,它是一个 Rake::TaskArguments-对象。但您也可以使用 []
来访问参数。
我有一个 Rake 任务,其中我从命令行获取两个参数,我需要将这些参数传递给任务中的方法。我该怎么做?
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):
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为参数值:
rake daily_sales_commission[1,2]
(1) 它不是哈希,它是一个 Rake::TaskArguments-对象。但您也可以使用 []
来访问参数。