0

CSVファイルをアップロードしてモデルを選択できるフォームを作成するための最良のオプションは何ですか。たとえば、CSVファイルの内容を取得し、重複をスキップしてデータベースに1行ずつ挿入するモデル(ユーザー、会社、連絡先)を選択します。モデルの検証?

4

2 に答える 2

7

あなたの質問には2つの部分があると思います。

  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

csvをインポートするためのrailsキャストに従ってくださいhttp://railscasts.com/episodes/396-importing-csv-and-excel

于 2013-03-28T10:00:32.973 に答える