我正在尝试通过submit_tag
表单加载 CSV 文件。我需要将 CSV 内容存储在内存中,以便我可以使用它们向从 CSV 加载的所有联系人发送电子邮件。然后我需要废弃 CSV 文件并忘记它。
有没有人有关于如何将 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以获得更多参考。
你也可以CSV.open
像这样传递一个 IO 对象:
CSV.open(params[:csv_file]) do |csv|
# do something with your csv data
end