2017-02-16 13 views
1

前に、私は私が直接使用してインポートしていCSVを持っている:CSVでRailsの4:AJAXでのインポートCSVおよび編集提出

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

一つの列はscale_idで、私のインポート機能はClientとを見つけよう

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

をし、どのクライアントが存在しない場合、私はclientsのリストから適切なclientを選択する能力を与えられるしたいと思います:scale_id対応します。

インポート時にCSVを編集して正しいclientを選択した後で、CSVを適切なscale_idに更新する方法はありますか?

(ユーザーを選択するための方法は、問題の範囲外である、私はインポート中にCSVを編集するともっと心配です)

答えて

1

私は変更しない、より良いアプローチは、新しいCSVファイルを作ることであると考えてい既存のもの。
CSVファイルの行と列を反復処理するときに、行インデックスと名前付き列を新しい値で格納するハッシュを作成します。ファイル全体を読み取るプロセスが完了すると、元のファイルを変更する必要がある場所のマップが表示されます。
次に、前に保存した位置の値を変更するもう1つを作成します。

+0

それは素晴らしいアイデアです –

関連する問題