我使用Carrierwave和Fog将我的图像上传到S3。在上传时,我还创建了图像的缩略图版本:
version :thumb do
process :resize_to_limit => [90, 80], if: :is_resizable?
end
现在我需要一种方法来检查缩略图版本是否存在。
Documentation列出了exists?
方法。如果我想检查原始版本是否存在,这实际上是有效的:
asset.file.exists? # => true
但是当我使用"拇指"像这样的版本:
asset.url(:thumb).file.exists?
它得到:
undefined method 'exists?' for #<String:0x007fcd9f9d9620>
:
答案 0 :(得分:18)
使用此:
asset.thumb.file.exists?
代替:asset.url(:thumb).file.exists?
答案 1 :(得分:2)
正确答案是:
asset.file.thumb.file.exists?
其中file = mounted_uploader和asset = model