私はCarrierwaveでRailsアプリケーションを持っており、画像処理にMiniMagickを使用しています。私は私のアップローダファイルにinclude CarrierWave::MiniMagick
を追加するたびにCarrierwave MiniMagickを含む - >アップロードはもう動作しません
、アップロードされた画像を更新せずに
class AvatarUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :thumb do
process resize_to_fill: [50, 50]
end
def filename
"avatar.#{file.extension}" if original_filename if original_filename
end
end
をアップロードしたばかりのエラーのいずれかのヒントなしで、動作を停止し、アプリケーションフローが再開マイUserクラスには、次の行を持ってい
attr_accessor :avatar, :avatar_cache
mount_uploader :avatar, ::AvatarUploader
マイビュー
<%= f.label(:avatar, t(:avatar)) %>
<%= image_tag(user.avatar_url) if user.avatar? %>
<%= f.file_field :avatar %>
<%= f.hidden_field :avatar_cache %>
アップローダのインクルード行とresize_to_fill行をコメントアウトすると、すべて正常に動作します。
これは、デバッグするのは難しいですが、私は.store!
を通じてコンソールをアバターをアップロードしようとしたが、出力はある奇妙な[:store_versions!]
u = User.first
u.avatar # Contains 'old.jpg' (Which I uploaded with the buggy lines commented, and changed the filename to 'old')
u.avatar.store!(File.new("C:\\somejpeg.jpg"))
=> [:store_versions!]
u.avatar # Still shows old 'me.jpg'
コンフィグ
- のWindowsを
- ImageMagickには
- をインストールルビー2.2.4p230(2015-12-16リビジョン53155)[x64-mingw32]
- CarrierWave 0.10.0とCarrierwave-Mongoid 0.8.0