2

.csv ファイルを rails (3.2.6) にインポートできません。これは csv フレージングでの私の最初の経験です。私は一般的に初心者です。Devise を使用して User モデルを生成しましたが、それがこの問題と関係があるかどうかはわかりません。tasks/import.rake で単純な rake タスクを作成しているだけです

require 'csv'

desc "Import data from csv file"
task :import => :environment do

CSV.foreach(Rails.root.join('db', 'data.csv'), :headers => true) do |row|

    attrs = {
     :first_name             => row[0],
     :last_name              => row[1],
     :email                  => row[2],
     :street_address         => row[3],
     :city                   => row[4],
     :state                  => row[5],
     :zip                    => row[6],
    }

    user = User.new(attrs)

    if user.save
      puts "Saved user #{attrs.inspect}"
    else
      puts "Unable to save user #{attrs.inspect}"
    end
  end
end

走る$: rake import

そして私は得る:

Unable to save user {:first_name=>"jane", :last_name=>"joe", :email=>"557@djh.com", street_address=>"38776 main", :city=>"los angeles", :state=>"ca", :zip=>"90887"}
Unable to save user {:first_name=>"bob", :last_name=>"billy", :email=>"7663@top.com",:street_address=>"5958 left", :city=>"los angeles", :state=>"ca", :zip=>"98768"}
Unable to save user {:first_name=>"jill", :last_name=>"jilly", :email=>"5857@joc.com", street_address=>"85755 second", :city=>"culver city", :state=>"ca", :zip=>"90332"}

私がここで見逃している明らかな何かがあるかどうかはわかりません。それはかなり簡単に思えます。ご協力いただきありがとうございます!

4

1 に答える 1

1

そのメッセージの代わりに user.errors または user.errors.messages を出力するだけです。モデルを保存できない理由がわかります。

于 2012-08-19T15:33:49.123 に答える