Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Carrierwave:如何卸载批量上载的上载程序_Ruby On Rails_Excel_Upload_Carrierwave_Roo - Fatal编程技术网

Ruby on rails Carrierwave:如何卸载批量上载的上载程序

Ruby on rails Carrierwave:如何卸载批量上载的上载程序,ruby-on-rails,excel,upload,carrierwave,roo,Ruby On Rails,Excel,Upload,Carrierwave,Roo,我有一个具有:image属性的产品模型。它使用carrierwave进行图像上传: mount\u上传器:图像,图像上传器 这对于我的新表单/编辑表单很好,但由于我有一个使用roogem for excel upload的批量上传选项,mount\u uploader不允许填充image列。每当上传程序是excel批量上传时,我需要禁用/卸载它。下面是我的excel上载的执行方式: def self.import(file) spreadsheet = Roo::Spreadsheet.op

我有一个具有
:image
属性的产品模型。它使用carrierwave进行图像上传:

mount\u上传器:图像,图像上传器

这对于我的新表单/编辑表单很好,但由于我有一个使用
roo
gem for excel upload的批量上传选项,mount\u uploader不允许填充
image
列。每当上传程序是excel批量上传时,我需要禁用/卸载它。下面是我的excel上载的执行方式:

def self.import(file)
  spreadsheet = Roo::Spreadsheet.open(file.path)
  header = spreadsheet.row(1)
  (2..spreadsheet.last_row).each do |i|
    row = Hash[[header, spreadsheet.row(i)].transpose]
    product = find_by(id: row["id"]) || new
    product.attributes = row.to_hash
    product.save!
  end
end