我目前正在允许用户上传CSV文件,处理它们,根据内容保存数据库条目,然后必须返回并清理CSV。我想知道是否可以上传,并通过将CSV保留在内存中而不触及磁盘来进行处理?
How do I tell paperclip to not save the original file?
...似乎暗示离开迁移的领域会做到这一点,但我没有运气这种方法。有什么想法吗?
答案 0 :(得分:6)
回形针的重点是来保存文件。您可以使用以下内容作为您的操作,并完全跳过使用回形针。
def upload
CSV.parse(params[:file].read) do |row|
# do whatever you need to do with the row
end
end
使用如下形式:
<%= form_tag('/path/to/upload') do %>
<%= file_field_tag :file %>
<%= submit_tag %>
<% end %>