rails rake任务从命令行传递参数的两种方式

1、通过环境变量传递参数

task :test => :environment do
  puts ENV['args']
end
rake test args=name #执行rake任务,输出name

2、通过在任务名称加[]的方式传递参数

task :test, [:arg1, :arg2] => :environment do |t, args|
  puts args.inspect
end



rake test[name,email] #执行rake之后,args接收到的参数形式为hash:{:arg1=>"name", :arg2=>"email"}

你可能感兴趣的:(Rails,rake,rake传参)