9

ファイルをアップロードしたら、モデルを保存する前にそのファイルを開くことはできますか?

/public フォルダーにファイルを保存するために Paperclip を使用しています。

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 からの応答に基づいて、Paperclip gem の最近のバージョンの.path代わりに使用します.url

于 2013-05-04T00:56:34.097 に答える
8

十分に近いですが.url、私にはうまくいきませんでしたpath

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

トリックをしました。

于 2014-11-19T02:27:39.243 に答える