Rails 4.0 存储临时 CSV 文件



我正在尝试通过submit_tag表单加载CSV文件。我需要将CSV内容存储在内存中,以便我可以使用它们向从CSV加载的所有联系人发送电子邮件。然后我需要废弃CSV文件并忘记它。

没有人有关于如何将csv文件存储到内存中,对其执行一些操作然后忘记它的参考或提示?

在从表单接收提交操作的控制器操作中,CSV 文件将作为参数哈希中的文件 IO 对象提供。因此,您可以从那里加载CSV对象,例如

require 'csv' # Ruby standard library 
...
def create
  ...
  csv = CSV.load params[:csv_file]
  # use your in-memory csv object and forget about it afterwards
  ...
end

查看 http://ruby-doc.org/stdlib-2.0.0/libdoc/csv/rdoc/CSV.html 以获取更多参考。

您还可以像这样将 IO 对象传递给CSV.open

CSV.open(params[:csv_file]) do |csv|
  # do something with your csv data
end

最新更新