CarrierWave图片网址

Kyl*_*cot 5 ruby-on-rails ruby-on-rails-3 carrierwave

我的模型有:

    mount_uploader :image, ImageUploader
Run Code Online (Sandbox Code Playgroud)

上传图像时,我想从图像中检索一些宽度,高度和一些EXIF数据.在我调用的前过滤器中,self.image.url但这将返回如下内容:

/uploads/tmp/20110630-1316-10507-7899/emerica_wildinthestreets.jpg

问题是当我尝试使用以下方法打开此图像时:

image = MiniMagick::Image.open(self.image.url)
Run Code Online (Sandbox Code Playgroud)

我得到"没有这样的文件或目录 - /uploads/tmp/20110630-1312-10507-6638/emerica_wildinthestreets.jpg".看起来图像已经从tmp文件夹移动到它的最终位置,但是self.image.url没有反映出这种变化.

我也在一个after_save方法中尝试了这个,但结果是一样的.有任何想法吗?

Kyl*_*cot 5

结果我需要附加"#{Rails.root.to_s}/public /" self.image.url

  • 更正确的解决方案是self.image.path (4认同)