2

モデルで after_update 呼び出しでこのコードを実行しています。

require 'rmagick'
file = photo.url(:thumb) #created by paperclip
img = Magick::Image.read(file).first

ファイル「/assets/contacts/1/thumb/image.png」を開くことができませんが、そのファイルはそこにあり、アプリの残りの部分で使用されているため、アクセス許可が問題であるとは思いません。Rails は私のアセット ディレクトリを調べて、それ以外のすべてを探しています。ローカル ボックスの直接 URL から画像にアクセスできるので、画像が存在することがわかります。自作で ImageMagick をインストールしましたが、「identify -list format」を実行したところ、フォーマットもインストールされているようです。それをgemfileに追加し、bundle installも実行しました。これをトラブルシューティングするには、他にどのようなことを試みることができますか?

RMagick がどのディレクトリをルートと見なすかを知るにはどうすればよいですか? または、ファイルを読み取れない別の理由がありますか? Google、フォーラム、スタック、IRC で見つけたものはすべて読みましたが、誰も答えを持っていないようです。

4

1 に答える 1

0

Paperclip gem は、アップロードされた画像を public フォルダーに保存します。したがって、パブリックフォルダー内の画像パスが次の場合:連絡先 --> 1 --> 親指 --> image.png

それよりも、パス'/contacts/1/thumb/image.png'を使用する必要があります。URL にスラッシュがない場合、Rails はデフォルトでアセットフォルダー内で画像を検索します。

于 2013-12-03T13:02:57.247 に答える