根据此example,以下方法:
require "csv"
def import_vault_data(filename)
fn = "#{RAILS_ROOT}/public/data/#{filename}"
CSV.foreach(fn, :headers => true) do |row|
House.create!(row.to_hash)
end
end
正在产生此错误:
undefined method `to_hash' for #<Array:0x104cc07b8>
关于缺少什么的任何线索?
我正在使用rails 2.3.9
答案 0 :(得分:5)
答案可能有点迟,但你需要:
CSV.foreach(file.path, headers: true) do |row|
因为除非你在哈希
中有标题,否则你不能调用to_hash答案 1 :(得分:2)
尝试使用ruby 1.8.7
House.create!(row.hash)
答案 2 :(得分:2)
你也可以
House.create!(Hash[row])