-3
我想下面的那种CSV记录保存到DB:CSV记录用空格不保存到数据库
9,Lambert,Kent D,Senator
但它没有被保存在数据库中,事务正在回滚并给出这个错误。
{"state_senate_district_id"=>"9", "last_name"=>"Lambert", "first_name"=>"Kent D", "tag"=>"Senator"}
(0.2ms) BEGIN
(0.1ms) ROLLBACK
["First name should contain only alphabets"]
所以在first_name = "Kent D"
的空间,因此,它是不允许的空间,所以它不保存到数据库。
下面是解析CSV代码:
hash = {}
CSV.foreach('Senator.csv', {:headers=>:first_row}) do |line|
hash['state_senate_district_id'] = line[0]
hash['last_name'] = line[1]
hash['first_name'] = line[2]
hash['tag'] = line[3]
puts hash
senator = Senator.new(hash)
unless senator.save(hash)
err = senator.errors.full_messages
p err
File.open("errors", "a") do |csv|
err.each do |c|
csv << "\n"
csv << "||||||"
csv << [c]
end
end
end
尝试{:col_sep =>“,”} –
请包括您的Senator模型,因为这可能是问题所在。 –
非常感谢你,这是正确的在模型验证:) – kamal