2011-08-16 11 views
4

現在、ユーザーはCSVファイルをアップロードし、処理し、内容に基づいてデータベースエントリを保存してから、CSVを元に戻してクリーンアップする必要があります。私はそれがアップロードすることが可能かどうか、ディスクに触れることなくメモリにCSVを保存することによって処理するのだろうか?CSVをアップロードしてCSVを保存せずにPaperclipで処理する

How do I tell paperclip to not save the original file?

...移行オフフィールドを離れることは、これを行うだろうが、私は、このアプローチで運を持っていなかったことを示唆しているようです。何か案は?

答えて

5

ペーパークリップ全体のポイントは、ファイルを保存するためにです。あなたはあなたの行動として次のようなものを持ち、ペーパークリップの使用を完全にスキップすることができます。このような形で

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 %> 
+1

。主にクリップを利用していたのは、MIMEタイプ、ファイルサイズなどを確認するためのヘルパーをくれたからです。 –