Carrierwave를 사용하기 시작했으며 테스트 또는 지연 작업에 따라 여러 위치에 임시 파일을 저장한다는 사실을 알게되었습니다.Carrierwave 임시 디렉토리가 업로드/tmp 폴더로 설정 됨
테스트 도중 (rspec) 수행되면 임시 파일은 RAILS_ROOT/uploads/tmp
디렉토리에 있습니다.
이 지연 작업 중에 수행 할 경우, 임시 파일이 RAILS_ROOT/public/uploads/tmp
첫째로, 나는 rails_root/tmp/uploads
좀 더 분별있는 장소, 또는 시스템 임시 폴더 될 것이라고 생각됩니다.
둘째, 일반적인 실행과 다른 테스트는 버그처럼 보입니다.
구성 또는 원숭이 패치로 문제를 해결할 수 있습니까? 그리고 RAILS_ROOT/tmp 폴더에 것들을 넣을 수 있습니까?
매력처럼 작동합니다. 이 작업을 수행하려면 응용 프로그램을 다시 시작해야합니다. –
또한'attr_writer cache_dir'을 클래스에 추가하고 함수를'@cache_dir || Rails.root.join 'tmp/uploads' '를 사용하여 인스턴스 단위 재 지정을 허용합니다 (개발 파일에서 테스트 파일을 분리하는 데 유용함). – Leo
cache_dir과 store_dir의 차이점은 무엇입니까? – Jwan622