2011-08-03 5 views
1

레일 3에 사용자 정의 이미지 업로드 양식을 만들고 있습니다. (paperclip/carrierwave는 설정에 대한 옵션이 아닙니다.) "유효성 검사 실패시 지속 이미지"시나리오를 수행해야합니다. Rails 3에서 이것을 수행하는 "모범 사례"방법은 무엇입니까?레일 3 캐시 파일 업로드

요약 :

  1. 사용자가 이미지와 함께 양식을 채우고
  2. 사용자
  3. 양식 유효성 검사가 실패 "양식을 보내"를 클릭
  4. 사용자 지금은 형태로 업로드 필요가 없습니다 이미지를 볼 수 다시 선택하려면
+0

Carrierwave 소스 코드 읽기 – iwasrobbed

+0

carrierwave처럼 구현해야합니다. "폼 다시 표시간에 업로드 작업 만들기"에서 carrierwave 추가 정보를 확인하십시오. https://github.com/jnicklas/carrierwave/blob/master/README.md –

+0

의견을 보내 주셔서 감사합니다. 여러분 중 누구라도 소스 코드에서 이것이 어디에 위치 할 수 있을지 알고 있습니까? 그걸 발견하는 데 어려움을 겪고있는 Im ... – Houen

답변

0

처음부터 다시 시작하려면 파일을 업로드 디렉토리에 저장해야합니다. 다른 버전을 저장하기위한 새로운 디렉토리)을 생성하고 모델의 하나의 비 지속 필드에 임시 파일 이름을 저장하십시오. 그냥 존재하는 해당 필드를 확인 템플릿에서

attr_accessible :foo, :bar, :photo_cache_dir 
attr_accessor :photo_cache_dir 

:

@your_model.photo_cache_dir.present? 

을 ... 그리고 있다는 점에서

는 예를 들어, - 지속하지 않는 것이 필드는 photo_cache_dir 이름이 될 수 있습니다 케이스, 자신의 논리를 사용하여, 업로드 된 사진을 표시합니다.

이것이 최선의 방법인지 잘 모르겠지만 사용하고있는 것이고 매우 잘 작동합니다.

1

file_upload_cache gem은 carrierwave와 호환되며 반송파가 작동하지 않는 경우 작동합니다.

또한 반송파를 사용하지 않고 독립 실행 형입니다.

문서

은 여기에 있습니다 : https://github.com/kenmazaika/file_upload_cache

공개 : 내가이 보석을 저술.