Kullanılacak RoR ortamına ihtiyacım olan bağımsız bir ruby komut dosyasını çalıştırmak istiyorum. Özellikle, modellerimin ActionMailer ve ActiveRecord'u genişletmesine ihtiyacım var. Ayrıca veritabanı yapılandırmasını database.yml adresinden okumam gerekiyor. Bunun için nasıl giderim?RoR ortamı
6
A
cevap
9
kolay yolu adresinin senaryonun shebang değiştirmektir:
#!/usr/bin/ruby
#!/path/to/your/rails/script/runner
Et voilà
için, sizin komut yüklü tam raylar çevre ile işletilecek. Komut dosyanızı üretim veritabanıyla çalışması için./my_script -e production
olarak da çalıştırabilirsiniz.
0
Kontrol dışarı Konuyu:
require "#{ENV['RAILS_ROOT']}/config/environment.rb"
eğlenin: How do I run Ruby tasks that use my Rails models?
Aslında öyle aşağı kaynar!
0
Bunu yapmanın en iyi yolunun bir tırmık görevi yapmak olduğunu düşünüyorum.
# lib/tasks/mystuff.rake
desc 'do my stuff'
task :my_stuff => [:environment] do
# do my stuff
end
[: environment] stanza, ray ortamını yükler.
+1. Çok temiz... –