我的模特课
def self.to_csv
attributes = %w{a b c d }
CSV.generate(headers: true) do |csv|
csv << attributes
all.each do |script|
csv << attributes.map{ |attr| script.send(attr) }
end
end
end
def self.import(file)
CSV.foreach(file.path, headers: true, encoding:'iso-8859-1:utf-8') do |row|
Student.create! row.to_hash
end
end
end
对于def self.import(file)
我收到错误的原因我在标题中说明:第2行中的非法引用。当我将此代码CSV.foreach(file.path, headers: true, encoding:'iso-8859-1:utf-8')
更改为CSV.foreach(file.path, headers: true)
时,我得到的错误与:UTF-8中的无效字节序列。这是为什么。
控制器类:
def import
Student.import(params[:file])
redirect_to root_url, notice: "Students imported."
end