2011-08-08 7 views
0

ファイルシステムのソースからデータをインポートするスクリプトを作成する必要があります。それ、どうやったら出来るの?データベースを変更するスクリプトまたはタスクの作成

すでにレーキタスクを作成しようとしましたが、モデルがロードされていません。レール環境全体を自分の仕事にどのように取り込むのですか?

答えて

3
desc 'Do stuff with models' 
task :do_stuff => :environment do 
    1000.times.each do |i| 
    Model.create :name => "model number #{i}" 
    end 
end 

レーキタスクの依存関係として:environmentを宣言しています。これは、レールとアプリケーションコードがすべて実行される前にロードします。

+0

ありがとうございます。はい、少なくとも私のモデルFooは認識されています。しかし、 'Foo.make({...}) 'と言うと' '未定義メソッド' 'make for#' – user694971

+0

'make'は' ActiveRecord'によって提供されるクラスメソッドではありません。そこで、あなたのモデルクラスに 'make'というクラスメソッドを追加しましたか? –

+0

ええ、それはテスト環境で定義された便利なメソッドです(spec ...) – user694971

関連する問題