2009-06-09 2 views
5

모델에 파일을 첨부하기 위해 클립 클립 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

관련 문제