【发布时间】:2015-05-22 11:39:14
【问题描述】:
我正在尝试将 CSV 数据导入到我的 mysql 数据库,但是当我尝试上传文件时遇到了错误:
no implicit conversion of ActionDispatch::Http::UploadedFile into String
这是 CSV 文件中的一行:
751,"01/17/2015","11:17:32","60","TDFSRDSK","2","10","-1","0","3","","26","3","","","1","0"
这是导入的代码,在 product.rb 中
def self.import(file)
CSV.foreach(file) do |row|
id, jour, heure, valeur, app, a, b, c, d, e, f, g, h, i, j, k, l = row
userid = current_user.id
product = Product.create(date: jour, valeur: valeur,user_id: userid)
end
end
在 product_controller.rb 中
def import
Product.import(params[:file])
redirect_to_root_url, notice "Products imported"
end
在索引中:
<%= form_tag import_products_path, multipart: true do %>
<%= file_field_tag :file %>
<%= submit_tag "Import" %>
<% end %>
在 routes.rb 我有:
resources :products do
collection {post :import}
end
【问题讨论】:
标签: mysql ruby-on-rails ruby csv