2017-02-16 184 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

這是一個好主意,不知道爲什麼我沒有想到 –