如何在RubyMine 3.0中将参数传递给rake任务?

iullam 发布于 2018-10-31 rake 最后更新 2018-10-31 19:57 55 浏览

情况 我有一个类似于rake的任务

desc "A rake Task"
task :give_me_gold, [:quantity,:quality] => :environment do |task, args|
 ....
end
我从你输入的命令行中知道
rake give_me_gold[10,24] 
将参数传递给rake任务。但是当RubyMine运行任务时,它会像这样运行它:
rake give_me_gold[quantity,quality] --trace 10,24
重现步骤
  1. 创建一个带参数的rake任务。
  2. 让RubyMine安装3.0版本
  3. 从RubyMine中,单击工具 - >运行耙子任务
  4. 输入您的耙子任务名称。它应该显示为“任务[选项,选项]”,然后按Enter键
  5. 一个对话框将显示并询问参数。填入并按回车
  6. 观察RubyMine运行的命令。
回到我的问题 如何将参数传递给RubyMine 3.0中的Rake任务? 感谢您花时间查看此问题
已邀请:

kquis

赞同来自:

这是RubyMine中的一个错误。请参阅jetbrains.net上的Issue #8527

wodio

赞同来自:

task :give_me_gold do
  quantity = ENV['quantity']
  quality  = ENV['quality']
  puts "quantity: #{quantity}, quality: #{quality}"
end
rake give_me_gold quantity=10 quality=24
#=> quantity: 10, quality: 24
UPD
task :give_me_gold, :quantity, :quality do |t, args|
  puts "Args were: #{args}"
  quantity = args['quantity']
  quality  = args['quality']
  puts "quantity: #{quantity}, quality: #{quality}"
end
rake give_me_gold[10,24]
#=> quantity: 10, quality: 24

womnis

赞同来自:

将输入与环境一起传递的好方法是: **任务:上传,[:path] => [:environment] do | t,args |

puts args
YOUR_MODEL.method(args)
结束 **