我是RoR的新手。 我要動態地從一個CSV文件添加屬性,使我的代碼將能夠動態地讀取任何csv文件,並建立了數據庫(即轉換任何CSV文件導入到Ruby對象)如何從csv文件動態添加屬性
我用下面的代碼
csv_data = File.read('myData.csv')
csv = CSV.parse(csv_data, :headers => true, :header_converters => :symbol)
csv.each do |row|
MyModel.create!(row.to_hash)
end
但是它會失敗下面的例子
myData.csv
Name,id
foo,1
bar,10
myData2.csv
Name,value
foo,1
bar,10
這將導致對其myData2錯誤,因爲該值不是在爲MyModel
未知屬性 '值' 爲爲MyModel的參數。
我曾經想過用發送(:attrAccessor,名字),但我不知道我怎樣才能從CSV讀取時,任何想法整合呢?
什麼屬性確實你的模型有數據庫? –
那麼這裏有什麼_exactly_是問題?如果你說'MyModel.create({value:10})'並且模型沒有'value'字段,你期望什麼? –