2011-02-27 10 views
5

स्थितिरूबीमाइन 3.0 में रेक रेक के लिए आप तर्क कैसे पारित करते हैं?

मैं करने के लिए

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

मैं कमांडलाइन से अवगत हूं समान एक रेक कार्य है आप टाइप

rake give_me_gold[10,24] 

रेक कार्य करने के लिए मानकों को पारित करने के लिए। लेकिन जब RubyMine कार्य चलाता है इसे इस तरह इसे चलाता:

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

कदम पुन: पेश करने

  1. एक रेक कार्य है कि तर्क लेता है बनाएँ।
  2. Have RubyMine स्थापित संस्करण 3.0
  3. RubyMine से, उपकरण क्लिक करें ->भागो रेक टास्क
  4. इनपुट अपने रेक कार्य नाम। इसे "कार्य [विकल्प, विकल्प]" के रूप में दिखाना चाहिए और
  5. दर्ज करें एक संवाद दिखाई देगा और तर्क मांगेगा। इसे भरें और एंटर दबाएं
  6. रूबीमाइन रनों का पालन करें।

मेरे सवाल

कैसे आप RubyMine 3.0 में एक रेक कार्य करने के लिए तर्क पारित करते वापस?

इस सवाल

उत्तर

1

यह RubyMine में एक बग है देखने के लिए समय लेने के लिए धन्यवाद। jetbrains.net पर Issue #8527 देखें

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

स्टैंडर्ड तर्क गुजर कार्य रेक करने के लिए के रूप में मेरे सवाल में दर्शाया गया है हमेशा के लिए अभ्यास। रेक चर के लिए तर्क पास करना क्योंकि पर्यावरण चर मानक के मुकाबले लगता है। – FelixD

+0

अपडेट किया गया। आप एक और दृष्टिकोण की कोशिश कर सकते हैं :)। – fl00r

+0

वास्तव में, मेरे पास रूबीमाइन नहीं है, इसलिए मैं विषय से बाहर हूं :( – fl00r

0

अच्छा वातावरण के साथ आदानों पारित करने के लिए दृष्टिकोण है:

** कार्य: अपलोड, [: पथ] => [: पर्यावरण] करना | टी, आर्ग |

puts args 
YOUR_MODEL.method(args) 

अंत **