6

この質問がされましたが、答えはありません...私も同じ問題を抱えています。

ファイルのアップロードに Carrierwave を使用しています

画像は tmp ダイレクトに保存されますが、同じサイズに保たれます...

私の avatar_uploader.rb ファイルは次のようになります。

class AvatarUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
storage :file
def store_dir
   "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :thumb do
  process :resize_to_limit => [200, 200]
end

私の見解は次のとおりです。

<% for image in @posts %>
<%= image_tag image.avatar_url(:thumb) if image.avatar? %>
<%= image.title %>
<% end %>

(:thumb) を含めないと完全な画像が表示されますが、(:thumb) を含めると次のエラーが発生します。

Version thumb doesn't exist!

以下は私のモデル設定です

class Post < ActiveRecord::Base
  attr_accessible :comments, :frame, :title, :twitter, :avatar
  belongs_to :user
  mount_uploader :avatar, AvatarUploader
end

tmp ディレクトリが作成されたことがわかりますが、画像のサイズが変更されていません... imagemagick と rmagick がインストールされています...

ありがとうございました

4

4 に答える 4

9

他のファイルをアップロードした後に一部の画像の親指サイズを作成した可能性があるため、バージョンを再作成することをお勧めします。

image.avatar.url(:thumb)

上記の構文は問題ありません

バージョンを再作成するには、実行してみてください

image.avatar.recreate_versions!

あなたが行方不明かもしれないすべてのアバターで。

于 2012-05-12T07:57:13.057 に答える
4

次のいずれかの構文を試してください。

image.avatar.thumb.url
# or
image.avatar.url(:thumb)
于 2012-05-11T06:35:22.450 に答える
1

使用することをお勧めします

include CarrierWave::MiniMagick

それ以外の

include CarrierWave::RMagick

RMagick のすべての依存ライブラリがない場合があるためです。Thumb バージョンは、RMagick または MiniMagick を使用して作成されます。問題は RMagick にあります。

于 2013-05-16T10:43:59.103 に答える
-1

ドラゴン フライ ジェムを試しましたか? 私はあなたの問題を解決していないことを知っています。しかし、数回使用した後、画像に関してはキャリアウェーブよりも優れていると思います。Dragonfly gem は大量の画像を作成するわけではなく、1 つの画像を指定したサイズにリサイズするだけです。

于 2012-05-11T06:01:07.657 に答える