我正在使用 ruby 将 csv 文件从前端导入到 mysql 中。这是我的控制器代码
需要'csv' 定义 csv_import @parsed_file=CSV::Reader.parse(params[:dump][:file]) n=0 @parsed_file.each 做 |row| c=客户信息.new c.job_title=行[1] c.first_name=行[2] c.last_name=行[3] 如果 c.save n=n+1 GC.start 如果 n%50==0 结尾 flash.now[:message]="CSV 导入成功,#{n} 条新记录添加到数据库" 结尾
这是我的前端代码。
<pre>
<% form_for :dump, :url=>{:controller=>"customer_informations", :action=>"csv_import"}, :html => { :multipart => true } do |f| -%>
<table">
<tr>
<td>
<label for="dump_file">
Select a CSV File :
</label>
</td>
<td >
<%= f.file_field :file -%>
</td>
</tr>
<tr>
<td colspan='2'>
<%= submit_tag 'Submit' -%>
</td>
</tr>
</table>
<% end -%>
</pre>
现在我想要的是,我在 DB 中有大约 30 列,csv 将包含 30 个列标题。此外,对于检查,我将使用 textfield 询问其中一列作为输入,以便在 csv 表中生成 29 列。根据用户选择的选项,剂量 29 列与文本框中的选定实体相连。
任何帮助,将不胜感激。
谢谢