我已经在这个论坛上搜索了上述问题的解决方案,但我尝试的一切都没有奏效。基本上,我有一个模型库,在我的 sqlite3 数据库中有相应的库表。我有一个名为 libraries.csv 的 csv 文件,其中包含我要导入数据库的所有数据。
我尝试了此页面上第二个答案的方法,但仍然无法正常工作。我确保在 lib/tasks 文件夹中创建了我的 rake 文件 'import_libraries.rake,并且我还将 library.csv 文件保存在该文件夹中,但我不断收到此错误消息:
耙中止!
不知道如何构建任务“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
但是当我运行 bundle exec rake import_libraries 时,我收到上面的错误消息。
有什么我做错了吗?我会很感激你们的帮助。谢谢
编辑
我将 rake 文件从 import_libraries.rake 重命名为 import.rake 在运行 bundle exec rake import 时,我现在得到的错误消息是:
耙中止!UTF-8 C:/Users/username/rails_app_name/lib/tasks/import.rake:4:in `block in ' Tasks: TOP => import 中的无效字节序列(通过使用 --trace 运行任务查看完整跟踪)