ruby-on-rails – Carrierwave temp目录设置为上传/ tmp文件夹
发布时间:2020-12-16 20:00:00 所属栏目:百科 来源:网络整理
导读:我开始使用Carrierwave,我发现它根据是测试还是延迟工作在多个地方存储临时文件. 如果在测试期间完成(rspec),临时文件将位于RAILS_ROOT / uploads / tmp目录下. 如果在延迟作业期间完成,临时文件将位于RAILS_ROOT / public / uploads / tmp 首先,我认为rails
我开始使用Carrierwave,我发现它根据是测试还是延迟工作在多个地方存储临时文件.
如果在测试期间完成(rspec),临时文件将位于RAILS_ROOT / uploads / tmp目录下. 如果在延迟作业期间完成,临时文件将位于RAILS_ROOT / public / uploads / tmp 首先,我认为rails_root / tmp / uploads将是一个更明智的地方,甚至是系统临时文件夹. 第二,测试与正常运行不同似乎是一个错误. 有没有办法解决这个问题(通过配置或猴子补丁)?我可以把东西放在RAILS_ROOT / tmp文件夹中吗? 解决方法
可以在config / initializers / carrierwave.rb中设置config.cache_dir选项.但它是相对于’/ public’.您应该在上传者中执行此操作:
class MyUploader < CarrierWave::Uploader::Base def cache_dir # should return path to cache dir Rails.root.join 'tmp/uploads' end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |