我有一个非常具体的问题。我有应用程序,我需要在 CSV 文件中导入数据,这是在上传处理后,然后带有结果的概览页面显示给用户。
我已经有了如何解析 CSV 文件的方法。它工作正常。但它只是一个步骤形式:
新 - 方法和带有表单的 erb 文件
post后处理CSV文件的方法=>并且数据在DB中。
它工作正常,但我还想自动生成一个 CSV 文件,其中包含在首次上传时失败的行。根据此链接,我已经为此编写了方法。但不幸的是,这种方法的用户体验很糟糕。因为,如果您生成带有错误的新 CSV 文件,它只会发送一个由以下方法调用的下载弹出窗口:
send_data errCSV, :type => 'text/csv; charset=iso-8859-1; header=present', :disposition => "attachment; filename=#{errFile}.csv"
在第二个 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 和概览之间传递值(假设是一个数组)。我不想保存任何文件。只是考虑使用 Session。