質問

RoR環境を使用する必要があるスタンドアロンのrubyスクリプトを実行したい。具体的には、ActionMailerとActiveRecordを拡張するモデルが必要です。また、database.ymlからデータベース設定を読み取る必要があります。 どうすればいいですか?

役に立ちましたか?

解決

最も簡単な方法は、スクリプトのシェバンを次のように変更することです:

#!/usr/bin/ruby

to

#!/path/to/your/rails/script/runner

Et voil&#224 ;、スクリプトは完全なレール環境がロードされた状態で実行されます。スクリプトを ./ my_script -e production として実行して、実稼働データベースで実行することもできます。

他のヒント

このスレッドを確認してください: Railsを使用するRubyタスクを実行する方法モデル?

本質的には次のように要約されます:

require "#{ENV['RAILS_ROOT']}/config/environment.rb"

楽しんでください!

これを行う最善の方法は、それをすくいタスクにすることだと思います。

   # lib/tasks/mystuff.rake
   desc 'do my stuff'
   task :my_stuff => [:environment] do
     # do my stuff
   end

[:environment]スタンザはRails環境をロードします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top