Мой файл семян выглядит следующим образом ...Rails Seed.rb ncoding :: UndefinedConversionError: ошибка " xc2" при импорте CSV
csv_file_path = 'db/coned.csv'
count = 0
CSV.foreach(csv_file_path) do |row|
row = Section.new({
:supervisor => row[0],
:catagory => row[1],
:title => row[2],
:description=> row[3],
:days => row[4],
:start_date => row[5],
:end_date => row[6],
:start_time => row[7],
:end_time => row[8],
:course_id => row[9],
:room => row[10],
:building => row[11],
:location => row[12],
:tuition => row[13],
:lab_fee => row[14],
:insurance_fee => row[15],
:technology_fee => row[16]
})
row.save!
puts "Added row #{count}"
count+=1
end
... и я получаю эту ошибку, когда я запускаю грабли БД : seed
rake aborted! Кодирование :: UndefinedConversionError: «\ xC2» из ASCII-8BIT в UTF-8: ВСТАВИТЬ В «разделы» («building», «catagory», «course_id», «created_at», «days», «description», end_date "," end_time "," insurance_fee "," lab_fee "," location "," room "," start_date "," start_time "," supervisor "," technology_fee "," title "," tuition "," updated_at ") ЗНАЧЕНИЯ (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) /home/johnmlocklear/.rvm/ драгоценные камни/рубиново-1.9.2-P320/драгоценные камни/ActiveRecord-3.2.11/Библиотека/active_record/connection_adapters/sqlite_adapter.rb: 208: в encode' /home/johnmlocklear/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.11/lib/active_record/connection_adapters/sqlite_adapter.rb:208:in
type_cast»
Любые идеи о том, как я могу просто поймать эту ошибку и бросок выйдите из этой строки и продолжайте импортировать строки. Или, возможно, какое-то принудительное кодирование?
Thanx ... который работал (вроде). Добавление rescure позволяет импортировать все мои данные, поэтому похоже, что это ошибка, но я не вижу «консольную ошибку в строке # {row.inspect}» в консоли. Мне интересно, нужно ли здесь предложение puts? – Lumbee
Это зависит от того, кто этот код работает. Если вы запустите его в консоли, замените 'Rails.logger.error' на' $ stderr.puts'. – pierallard
..thanx Norm ... это работает! – Lumbee