RAILS - 将参数传递给Rake任务

mis*_*s_M 3 ruby csv export ruby-on-rails rake-task

我需要一些帮助:(嗯,我需要1个参数传递给耙任务.而且我不是100%确定如何做到这一点,我已经尝试了很多东西,但没有任何实际工作.它是这个样子:

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

然后当我在终端中运行时,'export_to_csv'方法用来获取arg:'rake export 1'或'rake export [1]'我一直得到同样的错误答案:'rake aborted!NoMethodError:nil的未定义方法`id':NilClass'

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

Ami*_*rma 11

试试这个,也看看下面的网址. 4种方法将参数传递给佣金任务

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

并使用它运行它

rake add\[1\]

#OR

rake 'export[1]'
Run Code Online (Sandbox Code Playgroud)


Sim*_*tti 10

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

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

用法:

rake export[foo1]
Run Code Online (Sandbox Code Playgroud)