Я искал по всему форуму решение вышеуказанной проблемы, но все, что я пробовал, не сработало. По сути, у меня есть модельная библиотека с соответствующей таблицей библиотек в моей базе данных sqlite3. У меня есть CSV-файл с именем library.csv, который содержит все данные, которые я хочу импортировать в базу данных.
Я попробовал метод во втором ответе на this страница, но она по-прежнему не работает. Я позаботился о том, чтобы создать файл rake import_libraries.rake в папке lib/tasks, а также сохранил в этой папке файл library.csv, но я продолжаю получать это сообщение об ошибке:
rake aborted!
Не знаю, как построить задачу 'import_libraries' (см. полную трассировку, запустив задачу с параметром --trace)
Это текущий код, который я использую:
require 'csv'
desc "Imports a CSV file into an ActiveRecord table"
task :import, [:filename] => :environment do
CSV.foreach('libraries.csv', :headers => true) do |row|
Library.create!(row.to_hash)
end
end
Но когда я запускаю пакет exec rake import_libraries, я получаю указанное выше сообщение об ошибке.
Есть ли что-то, что я делаю неправильно? я был бы признателен за вашу помощь, ребята. Спасибо
ИЗМЕНИТЬ
Я переименовал файл rake из import_libraries.rake в просто import.rake. При запуске импорта rake exec пакета я получаю сообщение об ошибке:
рейк прерван! неверная последовательность байтов в UTF-8 C:/Users/username/rails_app_name/lib/tasks/import.rake:4:in `block in ' Tasks: TOP => import (см. полную трассировку, запустив задачу с --trace)
.csv
? - person fmendez   schedule 14.03.2013import.rake
: # encoding=utf-8 - person fmendez   schedule 14.03.2013