如何使用Carrierwave和Fog检查S3上是否存在图像版本?

我用Carrierwave和Fog将我的图像上传到S3。 在上传时,我还创建了图像的缩略图版本:

version :thumb do process :resize_to_limit => [90, 80], if: :is_resizable? end 

现在我需要一种方法来检查缩略图版本是否存在。

文档列出了exists? 方法。 这实际上有效,如果我想检查原始版本的存在:

 asset.file.exists? # => true 

但是当我使用像这样的“拇指”版本时:

 asset.url(:thumb).file.exists? 

它得到:

undefined method 'exists?' for # undefined method 'exists?' for #

用这个:

 asset.thumb.file.exists? 

而不是: asset.url(:thumb).file.exists?

正确答案是:

 asset.file.thumb.file.exists? 

其中file = mounted_uploader和asset = model