私はかなり特定の問題を抱えています。CSVファイルにデータをインポートする必要があるアプリケーションがあります。これはアップロードが処理された後、結果の概要ページがユーザーに表示されます。
CSVファイルを解析する方法はすでにあります。正常に動作します。しかし、そのたった1つのステップ形式:
新規-フォーム付きのメソッドとerbファイル
CSVファイルを処理するpost後のメソッド=>およびデータはDBにあります。
正常に動作していますが、最初のアップロードで失敗した行を含むCSVファイルも自動的に生成したいと思います。このリンクによると、私はそのための方法を書きました。しかし残念ながら、このアプローチによるユーザーエクスペリエンスはひどいものです。エラーのある新しいCSVファイルを生成すると、次のメソッドによって呼び出されたダウンロードポップアップが送信されるためです。
send_data errCSV, :type => 'text/csv; charset=iso-8859-1; header=present', :disposition => "attachment; filename=#{errFile}.csv"
2番目のPOSTメソッドの後に、別のビューへのリダイレクトを追加します。このビューには、「インポートの概要」ヘッダーとエラーの数、正しい行の数、およびこの一時的なダウンロード可能なファイルを呼び出すメソッドのリンクなどが含まれます。
次に、私の問題は、CSVを保存せずに効果的に3ステップのウィザードを実行するにはどうすればよいですか?
編集
def upload_csv
#method which render form
end
def import_csv
#method implemented logic for parsing CSV
#POST METHOD
redirect_to overview_method_view
end
def overview
#method which could create a overview
end
そして、import_csvとoverviewの間に値(配列を想定)を渡す必要があります。ファイルを保存したくありません。Sessionの使用を検討しているだけです。