我有以下控制器方法:
class InventoryItemsController < ApplicationController
def import
params.permit(:code, :vendor_id, :price)
InventoryItem.import(params[:file])
redirect_to admin_index_path, notice: "Inventory Imported."
end
end
然后调用我的模型方法:
class InventoryItem < ActiveRecord::Base
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
InventoryItem.create! row.to_hash
end
end
end
我现在想要做的是使用类似的 CSV 导入方法来更新现有记录(用于价格变化等),只有在:code
属性唯一时才添加新记录。如果这是对一条记录的简单更新,我可能会这样做,但我不确定如何通过 CSV 上传来解决这个问题。请帮忙?提前致谢!