CSVのすべての行の2つの列を自分のデータベースと比較できるようにする必要があります。
たとえば、行は次のようになります。
Headers => "Zipcode", "HouseNumber"
Row 1 => "5435 ZX", "43"
まず、郵便番号と家番号に基づいて自分のデータベースで会社を見つける必要があります。これがtrueを返す場合は、この行の残りの列をインポートする必要があります。私はこれを解決する方法を知っています。
ただし、レコード全体を小さなチャンクに分割する必要があるため、インポートされた行を追跡できる必要もあります。インポートしたら、すべての行にフィールドを追加する必要があります。
要約する:
次のループでインポートされたすべての行にフィールド(「インポート済み」)を追加するにはどうすればよいですか。
CSV.foreach('reviews.csv', :headers => true) do |row|
Review.create(row.to_hash)
end