9

PaperclipをHerokuとAmazonS3で動作させようとしています。

ローカルホスト(mac OSとAmazon)ではすべて正常に動作しますが、herokuにデプロイしてこの機能を試してみると、次のエラーが発生します。

2 errors prohibited this area from being saved:
Asset /tmp/paris20121005-2-2cwxgx.jpg is not recognized by the 'identify' command.
Asset /tmp/paris20121005-2-2cwxgx.jpg is not recognized by the 'identify' command.

モデルの:styles => {}オプションを削除すると機能しますが、ファイルが処理されません(異なる画像サイズが必要です)。

また、gemfileにrmagickgemがあります。

これが私のgemfileです(ペーパークリップ部分のみ):

gem "paperclip"
gem "rmagick", :require => 'RMagick'
gem 'aws-sdk', '~> 1.3.4'

私のenvironment.rbまたはproduction.rbにPaperclip.options[:command_path]が設定されていないので、こちら側では問題ありません。

これが私のモデルです:

class Area < ActiveRecord::Base
  require 'RMagick'
  has_attached_file :asset, :styles => { :medium => "300x300>", :thumb => "180x190>" },
       :storage => :s3,
       :s3_credentials => "#{::Rails.root.to_s}/config/s3.yml",
       :url => :s3_domain_url.to_s,
       :path => "/:style/:id/:filename"
end

その手がかりはありますか?私はそれに関するすべてのトピックをクロールしましたが、何も機能していないようです...

ありがとう

4

1 に答える 1

19

どうやら、Cocaine gem (0.4.0) の新しい更新により、Paperclip と ImageMagick のファイル名が壊れているようです。以前のバージョン (0.3.2) にロールバックしてみてください。

ここを参照してください:

https://github.com/thoughtbot/paperclip/issues/1038

PS HerokuではRMagickはもう必要ないと思います。RMagickがなくても問題なく動作します

于 2012-10-06T14:58:00.300 に答える