2011-02-27 60 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) 

末 **

相關問題