0

私は Ruby on Rails を学んでおり、その過程で csv ファイル (シカゴの殺人事件の被害者に関する情報) からデータを取得し、データをデータベースに保存して、この情報をユーザーに表示するサンプル アプリを作成しています。

.csv ファイルの各行から日付を取得していますが、一見ランダムな日付がデータベースで「nil」と表示され、他の日付は正しくインポートされるという問題が発生しています。Name 属性と Age 属性も取得していますが、これらは問題なく正しくインポートされています。それは私が問題を抱えている日付だけです

私が使用しているモデルは次のとおりです。

class CreateVictims < ActiveRecord::Migration
  def change
    create_table :victims do |t|
      t.string :name
      t.integer :age
      t.date :date

      t.timestamps
    end
  end
end

データをインポートするために使用しているrakeタスクは次のとおりです。

require 'csv'
namespace :import_victims_csv do
  task :create_victims => :environment do
    csv_text = File.read('public/seed_data/2013all.csv')
    csv = CSV.parse(csv_text, :headers => true)
    csv.each do |row|
        Victim.create!(date: row[1], age: row[5], name: row[8]) 
    end
  end
end

日付の約 50% は正しくインポートされると思いますが、残りの 50% は「nil」になります。ソース .csv ファイルには、すべての名前の日付がリストされています。

参考までに、インポート元の csv ファイルへのリンクを次に示します: CSV

4

1 に答える 1