2011-02-27 11 views
5

SytuacjaJak przekazywać argumenty do zadania rake w RubyMine 3.0?

mam zadanie natarcia podobną do

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

Zdaję sobie sprawę z linii poleceń wpisać

rake give_me_gold[10,24] 

przekazać parametry do zadania natarcia. Jednak gdy rubymine uruchamia zadanie to działa to tak:

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

Kroki prowadzące do odtworzenia

  1. Utwórz zadanie natarcia, że ​​trwa argumentów.
  2. Have rubymine zainstalowana wersja 3.0
  3. Od rubymine, kliknij Narzędzia ->Run Rake Zadanie
  4. Wprowadź swoję imię zadaniem natarcia. Powinien pojawić się jako "zadanie [opcja, opcja]" i nacisnąć Enter
  5. Pojawi się okno dialogowe z zapytaniem o argumenty. Wypełnij go i naciśnij Enter.
  6. Przestrzegaj polecenia, które uruchamia RubyMine.

Powrót na moje pytanie

Jak przekazywać argumenty do zadania natarcia w rubymine 3.0?

Dziękujemy za poświęcenie czasu, aby to pytanie

Odpowiedz

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

standardowa praktyka przekazywania argumentów do natarcia zadanie jak zawsze, jak pokazano na moje pytanie. Przekazywanie argumentów do zadania rake jako zmiennych środowiskowych wydaje się być sprzeczne ze standardem. – FelixD

+0

zaktualizowana. możesz spróbować innego podejścia :). – fl00r

+0

Właściwie to nie mam RubyMine, więc nie mam tematu :( – fl00r

0

The dobre podejście do podejmowania wejść wraz z otoczeniem jest:

** zadanie: przesyłanie [path] => [:] Czy środowisko | t, args |

puts args 
YOUR_MODEL.method(args) 

koniec **

Powiązane problemy