Итак, я работаю над тем, чтобы позволить пользователям импортировать данные из файла CSV. Прямо сейчас все поля будут импортированы правильно, кроме первого поля.
Я обнаружил, что тип файла влияет на импорт.
Мой код выглядит следующим образом:
class Import < Operation
require 'csv'
def call(file, training_event_id)
csv_data = CSV.parse(file.read, headers: true)
list_occo = []
csv_data.each do |row|
occupant = Occupant.new
occupant.account_number = row['Account Number']
occupant.check_in = row['Check In']
binding.pry
occupant.training_event_id = training_event_id
list_occo << occupant
end
binding.pry
occo_errors = check_file(list_occo)
list_occo.each(&:save) if occo_errors.empty?
return occo_errors
end
Когда я выполняю привязку и проверяю пассажира, при выполнении CSV UTF-8 я получаю ноль на счете. Если я переключусь на прямой CSV, не проблема. Есть ли способ конвертировать / переключить CSV UTF-8 в CSV? Я думал / пытался использовать какую-то кодировку при разборе, например: encoding: 'iso-8859-1', но это не сработало.
Есть ли способ конвертировать CSV UTF-8 или есть? способ сделать прямую проверку формата файла, чтобы убедиться, что он CSV, а не CSV UTF-8?