我需要一些帮助:( 好吧,我需要将1个参数传递给rake任务。而且我不是百分百肯定如何做到这一点,我已经尝试了很多东西,但实际上没有任何效果。 它看起来像这样:
{ task :export, [:arg1] => :environment do
puts "Exporting..."
Importer.export_to_csv([:arg1]).to_i
puts "done."
end }
然后'export_to_csv'方法spoused获取arg 当我在终端上跑时: 'rake export 1'或'rake export [1]' 我一直得到同样的错误答案: '耙子流产了! NoMethodError:nil的未定义方法`id':NilClass'
这意味着 - 他不认识这个输入。 谢谢大家,
答案 0 :(得分:10)
试试这个,也看看下面的网址。 4 Ways to Pass Arguments to a Rake Task
task :export, [:arg1] => :environment do |t, args|
puts "Exporting..."
Importer.export_to_csv(args[:arg1].to_i)
puts "done."
end
并使用
运行它rake add\[1\]
#OR
rake 'export[1]'
答案 1 :(得分:9)
[:arg1]
必须是args[:arg1]
(或者您用作块参数的任何名称)。这是代码:
task :export, [:arg1] => :environment do |t, args|
puts "Exporting..."
Importer.export_to_csv(args[:arg1])
puts "done."
end
用法:
rake export[foo1]