我已经将图片上传到了亚马逊S3存储桶。当我尝试重新生成版本时,它会抛出一个“nil body”异常。
我认为这是由于我们代码中之前的上传设置发生了变化所致。然而,当我执行“pr.image.url”时,它仍然给我原始的图片,所以我尝试了以下操作:
我认为这是由于我们代码中之前的上传设置发生了变化所致。然而,当我执行“pr.image.url”时,它仍然给我原始的图片,所以我尝试了以下操作:
begin
User.all.each do |pr|
if pr.user.present?
pr.remote_avatar_url = pr.avatar.url
pr.save!
end
end
rescue
end
但它会抛出一个错误:
ActiveRecord::RecordInvalid: 验证失败:Avatar 尝试下载非通过 HTTP 传输的文件
我知道这是 carrierwave 异常。我想做的是重新上传所有图片(因为 pr.avatar.url
给出的是原始图片),但我不知道该怎么做。任何帮助将不胜感激。
pr.avatar.url
分配给remote_avatar_url
之前将https前缀连接起来吗?这不是一个优雅的解决方案,但值得一试。 - Sherwood Callaway