我使用Carrierwave + carrierwave_backgrounder + Sidekiq + Heroku上传图片。上传工作正常。当提交上传表单时,我需要显示上传的图片,但后台作业仍在处理它,所以页面只显示文件名,我必须等待后台作业完成,刷新页面才能看到它。如何在页面加载完成后显示临时上传的图像?
我知道我可以配置cache_dir来存储tmp图像,之后会被删除,如下所示:
def cache_dir
“#{Rails.root} / TMP /上传”
结束
我可以渲染这个tmp图像吗?如果是这样,我如何在视图中渲染它?我想避免在上传器中使用default_url
我在模型中使用process_in_background:avatar
谢谢!
答案 0 :(得分:2)
您应该能够在上传器类中定义default_url
方法。
例如:
class MyUploader < CarrierWave::Uploader::Base
def default_url
"/images/fallback/" + [version_name, "default.png"].compact.join('_')
end
end