Paperclip 废弃方法

5
我将我的Rails应用从rails 2.3.14升级到rails 3.2.6。在我的模型中,我有以下方法,它被调用来进行图像编辑。
def logo_geometry(style = :original)
  @geometry ||= {}
  @geometry[style] ||= Paperclip::Geometry.from_file(logo.to_file(style)) # works with s3
end

当调用此方法时,会出现以下错误。
undefined method `to_file' for #<Paperclip::Attachment:0xd9d06e0>

有没有关于实现to_file方法的建议?

2
https://github.com/thoughtbot/paperclip/issues/833 - Sully
1个回答

10

自问自答。

logo.to_file(style)替换为Paperclip.io_adapters.for(logo.styles[style])这样方法会变成这样。

def logo_geometry(style = :original)
  @geometry ||= {}
  @geometry[style] ||= Paperclip::Geometry.from_file(Paperclip.io_adapters.for(logo.styles[style])) 
end

2
谢谢。Paperclip现在开始真的让我很烦恼了。 - Zabba
1
是的。那么你什么时候可以调用这个函数?在 after_save 上,我得到了这个:Paperclip::AbstractAdapter#path 委托给 tempfile.path,但是 tempfile 是 nil: Paperclip::NilAdapter: - Ben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接