我開始使用Carrierwave,我發現它存儲臨時文件在多個地方,這取決於它是測試還是延遲作業。Carrierwave臨時目錄設置爲uploads/tmp文件夾
如果在測試過程中(rspec)完成,臨時文件將在RAILS_ROOT/uploads/tmp
目錄中。
如果延遲作業過程完成後,臨時文件將在RAILS_ROOT/public/uploads/tmp
首先,我在想,rails_root/tmp/uploads
將是一個更明智的地方,甚至在系統的臨時文件夾。
其次,與正常運行不同的測試看起來像一個錯誤。
有沒有辦法解決這個問題(通過配置或猴子修補)?我可以把東西放在RAILS_ROOT/tmp文件夾中嗎?
工程就像一個魅力。請注意,您需要重新啓動應用程序才能生效。 – 2013-03-03 20:40:11
我還在類中添加了'attr_writer cache_dir',並將函數改爲'@cache_dir || Rails.root.join'tmp/uploads''允許每個實例的覆蓋(用於隔離開發文件中的測試文件)。 – Leo 2013-06-10 14:21:56
cache_dir和store_dir有什麼區別? – Jwan622 2016-03-19 19:12:08