2016-03-30 18 views
0

Carrierwave ile Rails uygulamasına sahibim ve görüntü işleme için MiniMagick kullanıyorum. Benim Yükleyici dosyalarında include CarrierWave::MiniMagick eklediğinizdeMiniMagick dahil olmak üzere Carrierwave -> artık yüklenmiyor

, yükleme sadece hata olmadan herhangi bir ipucu, çalışma durur ve uygulama akışı

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 

My Kullanıcı sınıfı aşağıdaki satırları sahiptir yüklenen görüntüler güncellemeden devam

attr_accessor :avatar, :avatar_cache 
mount_uploader :avatar, ::AvatarUploader 

Bence

<%= f.label(:avatar, t(:avatar)) %> 
<%= image_tag(user.avatar_url) if user.avatar? %> 
<%= f.file_field :avatar %> 
<%= f.hidden_field :avatar_cache %> 

Yükleyici satırında içerme çizgisini ve resize_to_fill satırını açıkladığımda her şey iyi çalışır.

Bu hata ayıklamak zor, ben .store! aracılığıyla konsolu avatar yükleyerek denedim ama çıkışı bir garip [: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' 

Config'i

  • , Windows
  • ImageMagick
  • yüklü ruby 2.2.4p230 (2015-12-16 revizyonu 53155) [x64-mingw32]
  • CarrierWave 0.10.0 ve Carrierwave-Mongoid 0.8.0

cevap

0

Ben o iş yapmak başardı. Ben önemli bir adım neydi gerçekten emin değilim, ama aralarında diğer

  • keresinde Windows için ImageMagick açtı (bazı programlar ilk başladıktan sonra ek yapılandırma dosyaları oluşturmak biliyorum) ve ben bir fotoğrafı kaydettikten/açılışını çalıştı

    Ben daha önce silinmiş GUI
  • Carrierwave keresinde yönetici modunda rails s ran
  • dosyaları (şimdi bile olmadan iyi çalışır) yüklenen
0

sizin mücevher dosyasında mücevher "mini_magick" ekleyin ve paket kurarım. senin AvatarUploader sınıfta

eklemek Kullanıcı modelinde CarrierWave :: MiniMagick

dahil eklemek mount_uploader: avtar, AvatarUploader

İlgili konular