RAILS - 将参数传递给 Rake 任务

RAILS - Passing parameters to a Rake task

我需要一些帮助:( 好吧,我需要将 1 个参数传递给 rake 任务。而且我不是 100% 确定如何执行此操作,我尝试了很多方法,但实际上没有任何效果。 它看起来像这样:

 {  task :export, [:arg1]  => :environment do
      puts "Exporting..."
      Importer.export_to_csv([:arg1]).to_i
      puts "done."
    end }

然后 'export_to_csv' 方法结合以获得 arg 当我 运行 在我的终端: 'rake export 1' 或 'rake export [1]' 我不断收到相同的错误答案: '耙中止! NoMethodError:nil:NilClass'

的未定义方法“id”

这意味着 - 他不认识这个输入。 先谢谢你们了,

[:arg1] 必须是 args[:arg1](或您用作块参数的任何名称)。这是代码:

task :export, [:arg1] => :environment do |t, args|
  puts "Exporting..."
  Importer.export_to_csv(args[:arg1])
  puts "done."
end

用法:

rake export[foo1]

试试这个,也看看下面的 url。 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]'