我正在尝试将 CSV 行添加到表中的记录中,除了实际上没有显示任何内容之外,一切似乎都运行良好。
这是我的耙子任务:
namespace :csv do
desc "Import CSV Data"
task :c_up => :environment do
require 'csv'
csv_file_path = 'db/main.csv'
CSV.foreach(csv_file_path, :headers => true) do |row|
row = Entry.create!({
:one => row[0],
:two => row[1],
:three => row[2],
:four => row[3],
:five =>row[4],
:six => row[5],
:seven => row[6],
:eight => row[7],
:nine => row[8],
:ten => row[9]
})
row.save
puts "Entry added!"
end
end
end
我的 CSV 中的标题被命名为与属性匹配。
当我运行任务时,我没有收到任何错误,并且所有“已添加条目!” 出现在控制台中。我在没有 and 的情况下尝试过row =
,row.save
因为我已经看到很多没有这些的例子,但它没有帮助。
耙子完成后,根本没有任何记录。有什么明显的我做错了吗?似乎这是在遵循我见过的大多数示例。
编辑 感谢您的所有回答和评论!显然,这一直到语法都有缺陷,我将尝试您的建议,然后我会更新它。再次感谢!
编辑2 原来是你们都指出的语法问题,所以+1感谢大家!我评论它仍然不起作用的原因是一个不相关的问题,如果没有@jvnill 的评论,我不会想出来。