9

上传文件后,是否可以在保存模型之前打开该文件?

我正在使用 Paperclip 将文件保存在 /public 文件夹中。

class Book < ActiveRecord::Base
  before_save :open_it
  has_attached_file :upload

  def open_it
    a_file = open(upload.url) # this doesn't work before save ?
    # ... 
  end
end
4

2 回答 2

17

找到了:

def model_method
  f = open(self.upload.queued_for_write[:original].url)
end

更新:

根据 ecoologic 的响应,使用.path而不是.url更新版本的 Paperclip gem

于 2013-05-04T00:56:34.097 回答
8

足够接近,但.url对我不起作用,path起作用了。

file = open(uploaded.queued_for_write[:original].path)

成功了。

于 2014-11-19T02:27:39.243 回答