Empecé a usar Carrierwave, y descubrí que almacena archivos temporales en varios lugares, dependiendo de si se trata de un trabajo de prueba o demorado.Carrierwave directorio temporal establecido en la carpeta uploads/tmp
Si se hace durante la prueba (rspec), los archivos temporales estarán en el directorio RAILS_ROOT/uploads/tmp
.
Si se hace durante el trabajo de retraso, los archivos temporales estarán en RAILS_ROOT/public/uploads/tmp
En primer lugar, yo estaba pensando que rails_root/tmp/uploads
sería un lugar más sensible, o incluso la carpeta temporal del sistema.
En segundo lugar, la prueba es diferente a la ejecución normal parece un error.
¿Hay alguna manera de arreglar esto (ya sea por configuración o parche de mono)? ¿Y puedo poner cosas en la carpeta RAILS_ROOT/tmp?
Funciona como un encanto. Tenga en cuenta que deberá reiniciar su aplicación para que esto surta efecto. –
También agregué 'attr_writer cache_dir' a la clase y cambié la función a' @cache_dir || Rails.root.join 'tmp/uploads'' para permitir anulaciones por instancia (útil para aislar archivos de prueba de archivos de desarrollo). – Leo
¿Cuál es la diferencia entre cache_dir y store_dir? – Jwan622