我有一個系統使用CSV上傳更新InventoryItem
記錄。Rails CSV上傳更新記錄 - 屬性沒有保存到分區
我有這樣的控制方法:
def import
InventoryItem.import(params[:file], params[:store_id])
redirect_to vendors_dashboard_path, notice: "Inventory Imported."
end
Which of course calls this model method:
def self.import(file, store_id)
CSV.foreach(file.path, headers: true) do |row|
inventory_item = InventoryItem.find_or_initialize_by_code_and_store_id(row[0], store_id)
inventory_item.update_attributes(:price => row.to_hash.slice(:price))
end
end
我想更新只在更新:price
屬性,因爲和:code
和:store_id
不會改變。目前正在導入的記錄的價格都是0.0(十進制大)。不是零,也不是正確的值,但0.0,很明顯,我做錯了這個工作。我知道我這樣做是在控制檯中時,它看起來是這樣的:
inventory_item = InventoryItem.find_by_id(1)
inventory_item.update_attributes(:price => 29.99)
爲什麼我無法正常更新價格屬性的任何想法?
也許這個視頻將提供一些線索,以你的問題http://railscasts.com/episodes/396-importing-csv-and-excel?autoplay=true –