Из этих подходов, упомянутых ранее, никто не казался чистым и идеальным, как можно было бы ожидать автономный скрипт для запуска (не получить вычислять по ред или по трубопроводу через < перенаправления), но в конце концов это отлично работает для меня:
(для Rails 3)
Вставить в верхней части вашего скрипта:
#!/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...
Конечно, настройте свой собственный маршрут приложения Rails в строке APP_PATH.
Таким образом, я могу избежать того, чтобы ввести любой интерактивный irb
или rails c
и может проверить мой script.rb из командной строки, перед тем, например. планируя его в crontab.
Он плавно поддерживает параметры командной строки и минимизирует уровни оберток перед тем, как перейти к вашему коду.
CREDIT (также показан пример Rails 2)
http://zerowidth.com/2011/03/18/standalone-script-runner-bin-scripts-in-rails.html
Возможный дубликат [Как запустить файл на Ruby в среде Rails?] (HTTP: //stackoverflow.com/questions/9757261/how-do-i-run-a-ruby-file-in-a-rails-environment) –