我正在尝试通过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