1

このに従って、次のメソッド:

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>

何が欠けているかの手がかりはありますか?

私はレール2.3.9を使用しています

4

3 に答える 3

6

答えには少し遅れるかもしれませんが、次のことを行う必要があります。

CSV.foreach(file.path, headers: true) do |row|

ハッシュにヘッダーがない限り、 to_hash を呼び出すことはできません

于 2013-11-15T13:46:29.597 に答える
2

Ruby 1.8.7でこれを試してください

House.create!(row.hash)   
于 2012-10-06T04:56:46.013 に答える
2

あなたもできる

House.create!(Hash[row])
于 2012-10-06T05:04:27.190 に答える