2011-02-27 34 views
5

情况如何将参数传递给RubyMine 3.0中的Rake任务?

我有类似

desc "A rake Task" 
task :give_me_gold, [:quantity,:quality] => :environment do |task, args| 
.... 
end 

我知道在命令行rake任务,你键入

rake give_me_gold[10,24] 

传递参数给耙任务。然而,当RubyMine的运行任务运行时,它是这样的:

rake give_me_gold[quantity,quality] --trace 10,24 

步骤来重现

  1. 创建一个rake任务接受参数。
  2. 有无的RubyMine安装3.0版
  3. 从RubyMine的,单击工具 - >运行Rake任务
  4. 输入您的耙子任务名称。它应显示为“任务[选项,选项]”并按回车键
  5. 将出现一个对话框并询问参数。填入并按回车
  6. 观察RubyMine运行的命令。

回到我的问题

如何传递参数给耙任务的RubyMine 3.0吗?

感谢您抽出时间来查看此问题

回答

1
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 
+2

标准的做法将参数传递给耙任务,一直在我的问题说明。将rake任务的参数作为环境变量传递似乎与标准相反。 – FelixD

+0

已更新。你可以尝试另一种方法:)。 – fl00r

+0

其实,我没有RubyMine,所以我没有主题:( – fl00r

0

的好方法,通过输入与环境一起是:

**任务:上传,[:路径] => [:环境]做| T,ARGS |

puts args 
YOUR_MODEL.method(args) 

末 **

相关问题