使用Paperclip上传CSV并处理,而不保存CSV

All*_*ate 4 csv ruby-on-rails paperclip

我目前正在允许用户上传CSV文件,处理它们,根据内容保存数据库条目,然后必须返回并清理CSV.我想知道是否可以上传,并通过将CSV保留在内存中而不触及磁盘来进行处理?

如何告诉回形针不保存原始文件?

...似乎暗示离开迁移的领域会做到这一点,但我没有运气这种方法.有任何想法吗?

Mic*_*ley 6

回形针的重点保存文件.您可以使用以下内容作为您的操作,并完全跳过使用回形针.

def upload
  CSV.parse(params[:file].read) do |row|
    # do whatever you need to do with the row
  end
end
Run Code Online (Sandbox Code Playgroud)

使用这样的形式:

<%= form_tag('/path/to/upload') do %>
  <%= file_field_tag :file %>
  <%= submit_tag %>
<% end %>
Run Code Online (Sandbox Code Playgroud)