2017-02-16 146 views
1

之前导入CSV和编辑与AJAX我有一个CSV,我直接用进口:轨道4:提交

在CSV
CSV.foreach(file.path, headers: @weigh_in_cols) do |row| 
    hashed_row = row.to_hash.except!(nil) 
... 

一列是scale_id和我的导入功能尝试找到与一个Client相应scale_id

client = Client.find_by(scale_id: hashed_row["scale_id"]) 

,如果没有客户端存在,想我必须考虑到从clients列表中选择合适的client的能力。

有没有办法在导入时编辑CSV,选择正确的client后,我可以用适当的scale_id更新CSV?

(选择用户的方法是问题的范围之外,我更关心的是编辑CSV导入时)

回答

1

我认为更好的办法是让一个新的CSV文件,不修改现有的。
当您遍历CSV文件的行和列时,请使用新值来存储行索引和命名列。读完整个文件的过程完成后,您将获得需要更改原始文件的位置的地图。
然后您创建另一个修改您先前保存的位置中的值。

+0

这是一个好主意,不知道为什么我没有想到 –