ArgumentError:参数无效!用于Rails CSV导入

时间:2020-04-05 15:36:55

标签: ruby-on-rails ruby csv csv-import

我正在尝试通过Rails应用程序中的csv文件导入数据。每当尝试时,我都会不断收到错误消息,说明Invalid arguments!。我真的没有其他错误,而且堆栈跟踪确实没有给我任何帮助。如果有人知道任何线索,我将不胜感激!

我的错误发生在控制器中。

  def import
    Downtown.import(params[:file])
    redirect_to @downtown, notice: "Products imported."  
  end

当我在导入之前插入一个断点时,我查看了params[:file],它给了我。

[7] pry(#<DowntownsController>)> params[:file]
=> #<ActionDispatch::Http::UploadedFile:0x00007fbfeb871fd8
 @content_type="text/csv",
 @headers="Content-Disposition: form-data; name=\"file\"; filename=\"downtowns.csv\"\r\nContent-Type: text/csv\r\n",
 @original_filename="downtowns.csv",
 @tempfile=#<File:/var/folders/dz/106qqn2s25d8tbrty82wt77r0000gr/T/RackMultipart20200405-7860-1ezpt61.csv>>

关于我其余的代码,我在

在我看来

= form_tag import_downtowns_path, multipart: true do
  = file_field_tag :file
  = submit_tag "import"

我的路线

  resources :downtowns do
    collection { post :import }
  end

我的模特

  def import(file)
    CSV.foreach(file.path, headers: true) do |row|
      Downtown.create! row.to_hash
    end
  end

0 个答案:

没有答案