Ruby on Rails 3 を使用して、CSV ファイルから MySQL db にデータをインポートする作業を行っています。顧客モデルは既に作成されています。また、以下のスクリプトは puts row[2] と puts row[3] を正しく生成します。customers.warranty_part_no および Warranty_part_desc のデータベース フィールドの割り当てを追加すると、以下のエラーが発生します。
csv = CSV.read(file, col_sep: ",", headers: false)
c = Customer.new
csv.each do |row|
c.warranty_part_no = row[2],
c.warranty_part_desc = row[3]
end
これが私が得るエラーです。
uninitialized constant Customer (NameError)
いくつかのテストの後、この問題は、このスクリプトをコマンドラインから実行しているため、より大きなレールアプリで customer.rb モデルが実行されていないため、 Customer クラスが作成されないことが原因だと思います。このスクリプトをコマンド ラインから実行して、ActiveRecord または activerecord-import を利用するにはどうすればよいですか? それが不可能な場合、ルートを作成するか、アプリのビューから呼び出すにはどうすればよいですか?
私は Ruby 1.9.2 と Rails 3.2.2 を使用しています。アドバイスをよろしくお願いします。