Я пытаюсь добавить в модель около 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 записями и пустая модель, которую мне нужно заполнить. Лучший способ сделать это будет высоко оценен, спасибо!