2

我正在使用带有 Paperclip gem 的 Rails 来上传图片。我不知道它是什么时候发生的,因为我现在才注意到,但在最近的某个时候,他们一定已经更改了 Geometry 类,因为它现在抛出了一个错误。我正在使用回形针 3.3.1

我曾经使用:

Paperclip::Geometry.from_file(photo.path(style))

获取照片几何图形,但现在当我这样做时,我得到:

undefined method `to_file' for #<Paperclip::Attachment:0x007feba0009fb8>

我一直在寻找一些线索的来源,但这不是我的强项,我没有发现任何太有启发性的东西。

任何人

4

3 回答 3

2

我正在使用 3.3.1,并在我的 photo.rb 中有这个,以便在保存之前更新我的照片记录。


  def do_before_save
    temp = self.image.queued_for_write[:original]
    unless temp.nil?
      geo = Paperclip::Geometry.from_file(temp)
      self.image_width = geo.width
      self.image_height = geo.height
    end
  end
于 2012-11-21T05:14:02.417 回答
1

这应该适用于具有隐私设置的 S3,因为它将文件下载到 /tmp 文件夹

Paperclip::Geometry.from_file(Paperclip.io_adapters.for(photo).path)
于 2014-06-17T15:20:27.810 回答
0

弄清楚了。如果其他人在 Paperclip 上使用 Railscast 中的裁剪代码,我所要做的就是将 photo.path 更改为 photo.url。我正在使用 S3,出于某种原因,相对路径曾经可以工作,但现在它需要完整的 URL。

于 2012-11-21T22:12:32.340 回答