Возникли проблемы с загрузкой CSV-файла в приложение Rails

Я пытаюсь добавить в модель около 2 КБ записей и пробовал использовать все доступные методы (. fast csv , fast _seeder и railscasts ep). Я чувствую, что это должно быть довольно просто. У меня есть все данные в файле CSV, и у меня уже есть настроенная модель, готовая к заполнению.

Пока работает только то, что показано в эпизоде ​​RailsCasts. Я подключил этот код для своих атрибутов, и он заполнил только первую строку (из 2K ), и все:

Country.delete_all
open("#{Rails.root}/path_to_my_file") do |models|
  models.read.each_line do |model|
     column_1, column_2, column_3, column_4 = model.chomp.split(",")
     Model.create!(:attr_1 => column_1, :attr_2 => column_2,...etc)
  end
end

Затем я попытался использовать FasterCSVна основе некоторых других вопросов, но я получил кучу ошибок, говорящих о том, что fastercsvуже включен в последнюю версию ruby, я не мог понять (это может быть моя вина, но я не смог найти хороший вопрос SO, который красиво изложил бы его ).

Наконец, у Fast_Seederпоявился некоторый потенциал, и он распознал все мои записи, но не сохранил ни одну из них в модели, потому что я получил эту ошибку:

SQLite3::SQLException: too many terms in compound SELECT:(all my columns)

Так или иначе,снова я чувствую, что это должно быть достаточно просто. У меня просто есть CSV с 2K записями и пустая модель, которую мне нужно заполнить. Лучший способ сделать это будет высоко оценен, спасибо!

6
задан aceofbassgreg 25 July 2016 в 19:58
поделиться