Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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 将.csv格式文件导入openproject_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 将.csv格式文件导入openproject

Ruby on rails 将.csv格式文件导入openproject,ruby-on-rails,ruby,Ruby On Rails,Ruby,设置apache服务器后,当我们选择要导入的.csv文件时,我收到以下错误消息: ProductImportController#create中的类型错误: no implicit conversion of ActiveSupport::HashWithIndifferentAccess into String 我的产品\u导入\u控制器.rb: require 'csv' class ProductImportsController < ApplicationControll

设置apache服务器后,当我们选择要导入的.csv文件时,我收到以下错误消息:

ProductImportController#create
中的类型错误:

no implicit conversion of ActiveSupport::HashWithIndifferentAccess into String
我的
产品\u导入\u控制器.rb

require 'csv'    
class ProductImportsController < ApplicationController
  def new
    @product_import = ProductImport.new
  end

  def create
    csv_text = File.read(params[:product_import])
    csv = CSV.parse(csv_text, :headers => true)
    csv.each do |row|
      ProductImport.create!(row.to_hash)
    end
  end
end
需要“csv”
类ProductImportController<应用程序控制器
def新
@产品导入=产品导入.new
结束
def创建
csv_text=File.read(参数[:产品_导入])
csv=csv.parse(csv_文本:headers=>true)
csv.do每行|
ProductImport.create!(行到_散列)
结束
结束
结束
试试这个: 问题在于,控制器中的散列有一个安全方面。 您尝试
row.to\u hash.permit但我怀疑它是否有效

在模型中创建它:

require 'csv'    
class ProductImportsController < ApplicationController
  def new


 @product_import = ProductImport.new
  end

  def create
    csv_text = File.read(params[:product_import])
    csv = CSV.parse(csv_text, :headers => true)
    csv.each do |row|
      ProductImport.create_from_csv(row.to_hash)
    end
  end

end


class ProductImport < ActiveRecord::Base
  def self.create_from_csv(data)
     self.create!(data)
  end   
end
需要“csv”
类ProductImportController<应用程序控制器
def新
@产品导入=产品导入.new
结束
def创建
csv_text=File.read(参数[:产品_导入])
csv=csv.parse(csv_文本:headers=>true)
csv.do每行|
ProductImport.create_from_csv(row.to_散列)
结束
结束
结束
类ProductImport
您可以共享日志中获取的参数吗?您可以共享回溯/log吗?TypeError(没有将ActiveSupport::HashWithInferenceAccess隐式转换为字符串):app/controllers/product\u imports\u controller.rb:8:in
读取'app/controllers/product\u imports\u controller.rb:8:in
create'