SORU
31 AĞUSTOS 2009, PAZARTESİ


Raylar Komisyon: bir görev için bağımsız değişkenleri geçmek için Nasıl :çevre

Aşağıdaki gibi değişkenleri geçmek mümkün duyuyorum

desc "Testing args"
task: :hello, :user, :message do |t, args|
  args.with_defaults(:message => "Thanks for logging on")
  puts "Hello #{args[:user]}. #{:message}"
end

Ayrıca bir Rails uygulaması için geçerli ortam yüklemek mümkün duyuyorum

desc "Testing environment"
task: :hello => :environment do 
  puts "Hello #{User.first.name}."
end

Yapmak istediğim değişkenleri ve çevreye sahip olmak mümkün

desc "Testing environment and variables"
task: :hello => :environment, :message do |t, args|
  args.with_defaults(:message => "Thanks for logging on")
  puts "Hello #{User.first.name}. #{:message}"
end

Ama bu geçerli bir görev değil. Herkes bunu başarmak için nasıl biliyor mu?

CEVAP
22 Mart 2011, Salı


Bu eski bir konu takip etmek sadece; burada geçerli bir Rakefile (uzun zamandan beri) orada yapmak gerektiğini düşünüyorum. Mevcut kazanan cevabı (hgimenez) yükseltilmiş ve bugfixed bir versiyonu:

desc "Testing environment and variables"
task :hello, [:message]  => :environment  do |t, args|
  args.with_defaults(:message => "Thanks for logging on")
  puts "Hello #{User.first.name}. #{args.message}"   # Q&A above had a typo here : #{:message}
end

Bu şekilde çağırır:

  rake hello[World]

Birden çok bağımsız değişken için, sadece görev Bildirgesi dizisi (task :hello, [:a,:b,:c]...) kendi anahtar kelime eklemek, ve onları virgülle ayrılmış pass:

  rake hello[Earth,Mars,Sun,Pluto]

Not: bağımsız değişken sayısı tek gezegeni terk yani işaretli değil:)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caramella Girls

    Caramella Gi

    19 Mayıs 2008
  • NightShader1

    NightShader1

    25 Temmuz 2006
  • Plugable

    Plugable

    19 Mayıs 2010