我有一个rails4应用程序,配置文件图像上传了carrierwave并由S3提供服务。
我曾经有一个图片版本(base_thumb
)用于调整大小。现在我正在尝试添加user_thumb
,但是如果我将代码从profile.avatar.url(:base_thumb)
更改为profile.avatar.url(:user_thumb)
,那么该图像不会显示给之前创建配置文件的用户,因为该图像版本未启用S3。
我该如何解决这个问题?
version :base_thumb do
process :resize_to_fit => [85, 85]
end
version :user_thumb do
process :resize_to_fit => [40, 40]
end
答案 0 :(得分:1)
您需要创建每种不同尺寸的新版本。 Carrierwave有一个方法。
您可以在此处阅读文档:https://github.com/carrierwaveuploader/carrierwave#recreating-versions
但基本上你会运行像
这样的东西Profile.find_each do |profile|
profile.avatar.recreate_versions! if profile.avatar?
end