6

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

4

3 に答える 3

9

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

#!/usr/bin/ruby

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

それ以外の場合、スクリプトは完全なRails環境がロードされた状態で実行されます。スクリプトを./my_script -e production本番データベースで実行するように実行することもできます。

于 2008-12-02T21:18:58.303 に答える
0

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

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

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

于 2008-12-03T15:48:29.653 に答える
0

このスレッドを確認してください: Rails モデルを使用する Ruby タスクを実行するにはどうすればよいですか?

基本的には、次のように要約されます。

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

楽しむ!

于 2008-12-03T06:55:25.800 に答える