0

创建一个表单的最佳选择是什么,您可以上传一个 CSV 文件并选择一个模型,例如(用户、公司、联系人),它获取 CSV 文件的内容并将它们逐行插入到数据库中,跳过任何重复但符合模型中的验证?

4

2 回答 2

7

我认为你的问题有两个部分:

  1. 上传文件
  2. 将 CSV 解析到您的表格中。

对于上传文件,我喜欢 Carrierwave,但 Paperclip 也很受欢迎。我会先上传文件并将其存储在某处,以便您可以在 DelayedJob(或其他异步过程)中进行解析。存储文件后,您可以开始解析它并将其存储在表中的工作,使用 Ruby 的内置 CSV 解析器应该可以很好地完成此任务(它曾经被称为 FasterCSV)。

解析它的代码类似于:

parsed_file = CSV.parse(imported_file, :headers => true, :skip_blanks => true)

然后,您可以遍历 parse_file 中的每个“对象”并根据需要进行处理。

于 2012-04-16T14:23:25.923 回答
4

按照 rails casts 导入 csv http://railscasts.com/episodes/396-importing-csv-and-excel

于 2013-03-28T10:00:32.973 回答