2009-06-09 1 views
5

モデルにファイルを添付するためにpaperclip gemを使用しています。 Paperclipを使用してファイルをアップロードすると、モデルが保存されるときにのみファイルが保存されます。したがって、モデルが無効な場合、アップロードされたファイルは保存されません。アップロードされたファイルを一時的に保存する方法はありますか?モデルが無効な場合、ユーザーは同じファイルをアップロードする必要はありませんか?Rails Paperclip gemを使用して、モデルが無効な場合にアップロードされたファイルを一時的に保存する方法

答えて

2

、ディスクにファイルを保存し、それに一意の名前を付け 、オブジェクトが有効であるかどうかを確認するbefore_saveメソッドを定義していない場合(一部のハッシュを作成する)

形であなたが戻って非表示の中に送ることを入れてあなたは を名前を付けただし、画像をロードし、papercliに割り当てがある場合は、フィールド

hidden_field previous_uploadがあった場合before_save方法のチェックの他の支店に

今形式でアップロードフィールドを削除しますか、 p属性では、それは残りを把握することができます

attr_accessor :previous_upload 

def before_save 
    if valid? 
    if previous_upload 
     paperclip_file = #Load paperclip_file from /tmp 
    else 
     previous_upload = nil 
    end 
    else 
    previous_upload = "Some unique key for each upload like ip and time or such" 
    # Save paperclip_file with name previous_upload to /tmp 
    end 
end 
+0

ありがとうございました。やってみます :) – gsmendoza

関連する問題