2011-06-07 11 views
19

Rails 3.1 Beta'yı Ruby 1.9.2 ile kullanıyorum ve 0,9.2 rakımı kullanıyorum. Yazdığım bir dizi komisyon görevi. İşte bir örnek:Komisyon görevleri için yeni biçim nedir? (task: t, arg,: needs => [deps] göreve karşı: t, [args] => [deps])

at /home/user/railsapp/lib/tasks/data/dump_graph.rake:3:in `block in <top (required)>' 
WARNING: 'task :t, arg, :needs => [deps]' is deprecated. Please use 'task :t, [args] => [deps]' instead. 

Yeniden düzene İle denediği:

benim raylar uygulama bu tırmık görevleri yükler
namespace :data do 
    desc "dump the nodes and edges for a graph" 
    task :dump_graph, :species_id, :needs => :environment do |t,args| 
    args.with_defaults(:species_id => 'Hs') 
    # ... 
    end 
end 

Ancak, şimdi aşağıdaki uyarı her tırmık görev için bir kez tekrarlanır olsun argümanları birkaç farklı şekilde, ancak görevimin şimdi nasıl görünmesi gerektiği konusunda tam olarak net değilim.

Komisyon, bireysel bağımlılıkları vermemi bekliyor mu? Depolun ray ortamı olması durumunda bunları bir komisyon görevinde nasıl tanımlarım?

Güncelleştirilmiş belgelere bir bağlantı, kabul edilebilir bir yanıt olabilir! Googled ve Googled ettik, ama şans yok.

(Ve evet, biçim hata mesajı verilir. Ama bu biçim ben denedim farklılıklarına dayalı, doğru olarak görünmüyor biliyoruz.)

+0

Bu sorunu yaşıyorum ama çözüm çalışmıyor. Argüman olmadan bir komisyon görevim bile var ve bu da işe yaramıyor. Benim sözdizimim şu şekildedir: 'görev: görev_adı =>: ortam yap ... son' – n8gard

cevap

10

Zor bazen biliyorum deşifre ancak hata mesajı size yeni biçimi verir gerekenler: örneğin Yani

task :t, [args] => [deps] 

:

task :dump_graph, :species_id => :environment 

http://www.postal-code.com/binarycode/2011/06/02/rake-needs-deprecated/

benim için çalışıyor
+6

Bu denemeyi denediğimde işe yaramadı, ama şimdi yapıyor. Bunu yaparak işe koyuldum: 'task: dump_graph, [: species_id] => [: environment]'. Görünüşe göre sağ taraftaki liste sadece bir deponuz varsa isteğe bağlıdır. –

9

kullanım şöyledir:

task :task_name, [:argument] => :environment 

ben listelemek için birkaç bağımlılıkları olsaydı sanırım, deps dizi gösterimini gerekir.

Tek bir argümanın neden dizi gösterimi gerektirdiği konusunda hiçbir fikrim yok - komisyon görevini --trace ile çalıştırdığınızda, aşağıdakilere ilişkin bir hata oluştu: argüman simgesi boşta yanıt vermiyor? yöntem.