2

画像のアップロードには、ペーパークリップジェムで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

これは、ファイルを /tmp フォルダーにダウンロードしているため、プライバシー設定のある S3 で機能するはずです。

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 に答える