11

S3に画像をアップロードするために、レール(3.2.13)で宝石のペーパークリップ(3.5.1)を使用しています。サイズを変更する必要があるため、imagemagick(6.8.6-3:) があり、OS X 10.8 を使用しています。

S3 に画像をアップロードできたので、has_attached_files のスタイルに :thumb と :medium のサイズを追加することにしました。テスト画像のコンソールから動作していますが、同じ画像をアップロードしてコントローラーに保存しようとすると動作しません。次のエラーが表示されます。

パラメータ: {"authenticity_token"=>"G15ab7cv9a7N8YT2gMuRSV+DqzNIEDK5/M+Cno/XLbE=", "qqfile"=>"test.jpg", "locale"=>"en"} ユーザー負荷 (0.3ms) SELECT "users ".* FROM "users" WHERE "users"."id" = 1 LIMIT 1 Command :: file -b --mime './app/assets/images/test.jpg' Command :: identify -format '%wx %h,%[exif:orientation]' '/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg.jpg[0]' コマンド :: identify -format %m '/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn /T/test20130814-88788-1kazksg.jpg[0]' Command :: identify -format %m '/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg.jpg[0]' Command :: identify -フォーマット %m '/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg.jpg[0]' コマンド :: convert '/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg.jpg] auto-orient -resize "100x100>" '/var/folders/df/lhvn6g596fl5vmpwym6t04c80000gn/T/test20130814-88788-1kazksg20130814-88788-6efk1m' 1777 ミリ秒で 500 内部サーバー エラーを完了

NoMethodError (nil:NilClass の未定義メソッド `gsub'):

したがって、次の行でクラッシュします。

@document.original = uploaded_file

しかし、Document.rbにこれがある場合のみ:

has_attached_file :original, :styles => {:thumb => "100x100>",:small  => "150x150>", :medium => "400x400"}

私が離れる:styles = {}と、すべてが機能し、コンソールからも機能するので、混乱します。OS X で imagemagick のパーミッションが設定されている可能性があると思います。

4

0 に答える 0