Daha önce bahsedilen bu yaklaşımlardan hiçbiri, bağımsız bir betiğin çalışmasını beklediğiniz kadar temiz ve ideal görünmüyordu (değerlendirilmiyor veya <yeniden yönlendirme yoluyla yönlendirilmiyor), ancak nihayet bu benim için mükemmel çalışıyor:
(Raylar 3 için)
Komut dosyanızın en üstüne ekleyin:
#!/usr/bin/env ruby
APP_PATH = File.expand_path(appdir = '/srv/staging/strat/fundmgr/config/application', __FILE__)
require File.expand_path(appdir + '/../boot', __FILE__)
require APP_PATH
# set Rails.env here if desired
Rails.application.require_environment!
# your code here...
Elbette, APP_PATH satırında kendi Rails uygulama yolunuzu ayarlayın.
Bu şekilde, herhangi bir etkileşimli giriş yapmak zorunda kalmayabilirimirb
veya script.rb'mi kabuk isteminden rails c
test edebilirim , örn. crontab'da planlama.
Komut satırı parametrelerini de sorunsuz bir şekilde destekler ve kodunuza ulaşmadan önce sarmalayıcı düzeylerini en aza indirir.
KREDİ (ayrıca bir Rails 2 örneği gösterir)
http://zerowidth.com/2011/03/18/standalone-script-runner-bin-scripts-in-rails.html