0
我有一个简单的CSV上传器,下面是逐行并创建一个新的记录(事件)。我还使用了unidecoder gem,并且想要在CSV上传器创建的每个记录中的字段(描述字段)上调用to_ascii
方法。这听起来应该很简单,但我不熟悉遍历CSV文件。CSV上传期间的运行方法
上传者:
def self.import(file)
CSV.foreach(file.path, headers: true, encoding: "windows-1252:utf-8") do |row|
Event.create! row.to_hash
end
end
实现这个的正确方法:
def self.import(file)
CSV.foreach(file.path, headers: true, encoding: "windows-1252:utf-8") do |row|
description = row[2]
row[2] = description.to_ascii
Event.create! row.to_hash
end
end
谢谢!
奇数,它表示'to_ascii'不是一种方法。我从来没有真正在模型中使用它,而是在控制器中使用它。我对Rails相当陌生,所以不知道如何继续。有什么想法吗? – Devan
找不到'unidecoder'的宝石。什么是错误输出? – cortex
“NoMethodError at/events/import undefined method to_ascii for nil:NilClass” 这是Github for unidecoder gem:https://github.com/norman/unidecoder – Devan