Zacząłem używać Carrierwave i dowiedziałem się, że przechowuje pliki tymczasowe w wielu miejscach w zależności od tego, czy jest to testowanie czy opóźnione zadanie.Katalog tymczasowy Carrierwave ustawiony na folder uploads/tmp
Jeśli zostanie to zrobione podczas testowania (rspec), pliki tymczasowe będą znajdować się w katalogu RAILS_ROOT/uploads/tmp
.
Jeśli to się robi podczas opóźnionego zadania, pliki tymczasowe będą przy RAILS_ROOT/public/uploads/tmp
Najpierw myślałem, że rails_root/tmp/uploads
byłoby bardziej sensowne miejsce, lub nawet system folder tymczasowy.
Po drugie, testowanie różniące się od normalnego przebiega jak błąd.
Czy istnieje sposób, aby to naprawić (przez konfigurację lub łatanie małpy)? Czy mogę umieścić rzeczy w folderze RAILS_ROOT/tmp?
Działa jak urok. Pamiętaj, że aby to zmienić, konieczne będzie ponowne uruchomienie aplikacji. –
Dodałem również do katalogu 'attr_writer cache_dir' i zmieniłem funkcję na' @cache_dir || Rails.root.join 'tmp/uploads'' pozwala na nadpisywanie na poziomie instancji (przydatne do izolowania plików testowych z plików deweloperskich). – Leo
Jaka jest różnica między katalogiem podręcznym a katalogiem_pakietu? – Jwan622