2016-03-30 16 views
0

私は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

答えて

0

が、私はそれを動作させることができました。私は重要なステップだったか本当にわからないんだけど、他の

  • の中で私は(私はいくつかのプログラムは、最初の開始後に追加の設定ファイルを生成知っている)一度Windows用のImageMagickを開いた、と私は一緒に写真を保存/開くしようとしました私は以前に削除GUI
  • はCarrierwaveが、私は一度、管理者モードでrails sを走っ
  • ファイル(今それもせずに正常に動作)アップロード
0

は、あなたの宝石のファイルに宝石 "mini_magick"を追加し、バンドルをインストールします。あなたのAvatarUploaderクラスで

を追加するには、ユーザーモデルでCarrierWave :: MiniMagick

が含まaddが mount_uploader:avtar、AvatarUploader

関連する問題