모델에 파일을 첨부하기 위해 클립 클립 gem을 사용하고 있습니다. Paperclip을 사용하여 파일을 업로드하면 모델 저장시에만 파일이 저장됩니다. 따라서 모델이 유효하지 않으면 업로드 된 파일이 저장되지 않습니다. 모델이 유효하지 않은 경우 사용자가 동일한 파일을 업로드 할 필요가 없도록 업로드 된 파일을 임시로 저장하는 방법이 있습니까? 디스크에 파일을 저장하지 않을 경우Rails Paperclip gem을 사용하면 모델이 유효하지 않은 경우 업로드 된 파일을 임시 저장하는 방법
5
A
답변
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
관련 문제
- 1. rails + paperclip : 일반적인 "부착물"모델이 좋은 생각입니까?
- 2. 업로드 한 사진이 유효하지 않은 경우
- 3. Rails, Paperclip, DelayedJob 및 임시 파일 정리
- 4. Ruby on Rails 및 Paperclip
- 5. Uploadify + Paperclip + Rails 중첩 연결 before_save
- 6. Ruby on Rails : Paperclip & Ruby Mp3Info
- 7. Rails 3 & Paperclip issue
- 8. Windows에서 Linux Rails gem을 설치하는 방법
- 9. 업로드 된 파일을 안전하게 저장하는 방법입니까?
- 10. Ruby : 사용자가 설치하지 않은 경우 gem을 설치하십시오.
- 11. 업로드 된 파일을 압축하는 코드가 임시 파일을 삭제하지 못합니다.
- 12. mongoid-paperclip gem을 사용하여 업로드 할 때 '메타 데이터'가 정의되지 않았습니다.
- 13. Rails 3, Paperclip - Custom Interpolations
- 14. 여러 업로드 된 파일을 데이터베이스에 저장하는 가장 좋은 방법
- 15. 업로드 된 파일을 이름 대신 데이터베이스에 저장하는 방법
- 16. 젠드 프레임 워크 - 업로드 된 파일을 blob로 mysql에 저장하는 방법?
- 17. 모델이 유효하지 않더라도 "Ajax.BeginForm"은 OnSuccess를 실행합니다.
- 18. 업로드 파일을 다른 서버에 저장하는 방법
- 19. 안전하지 않은 문자를 제거하여 파일을 저장하는 방법
- 20. Paperclip - 정의되지 않은 메서드 'icon_file_name'
- 21. Rails Paperclip XML POST 파일
- 22. Rails 앱의 경우 저장소에 environment.rb 파일을 저장하는 것이 안전하지 않은 것 같습니다
- 23. 임시 업로드 파일을 만들고 일정 기간 후 삭제하는 방법
- 24. XmlSerializer가 임시 파일을 저장하는 가장 안전한 장소
- 25. 업로드 된 파일을 저장하기 위해 세션 사용
- 26. 유효하지 않은 행이있을 경우 javascript 실행이 중지됩니까?
- 27. 유효하지 않은 경우 텍스트 입력 값을 변경하십시오.
- 28. 유효하지 않은 경우 오브젝트 변경 사항을 롤백하십시오.
- 29. JackRabbit에 임시 파일을 저장하는 것이 좋습니다.
- 30. 유효하지 않은 CFSocket을 확인하는 방법
감사합니다. 나는 그것을 밖으로 시도 할 것이다 :) – gsmendoza