2016-03-30 15 views
0

Ich habe eine Rails App mit Carrierwave und verwende MiniMagick zur Bildbearbeitung.Carrierwave inkl. MiniMagick -> Uploads funktionieren nicht mehr

Immer, wenn ich include CarrierWave::MiniMagick in meinen Uploader Dateien hinzufügen, der Upload nur nicht mehr funktionierte, ohne jeden Anflug von Fehlern, und die Anwendung Fluss fortgesetzt, ohne dass die hochgeladenen Bilder Aktualisierung

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 

Meine Benutzerklasse die folgenden Zeilen hat

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

Meine Ansicht

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

Wenn ich die Include-Zeile und die resize_to_fill-Zeile im Uploader auskommentiere, funktioniert alles gut.

Das ist schwer zu debuggen, habe ich versucht, den Avatar durch .store! die Konsole hochladen aber die Ausgabe ist eine seltsame [: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

  • Windows-
  • ImageMagick installiert
  • Ruby 2.2.4p230 (2015-12-16 Revision 53155) [x64-mingw32]
  • CarrierWave 0.10.0 und Carrierwave-Mongoid 0.8.0

Antwort

0

ich es geschafft, es funktioniert. Ich bin nicht wirklich sicher, was der entscheidende Schritt war, aber unter anderem

  • Ich öffnete einmal ImageMagick für Windows (Ich weiß, dass einige Programme zusätzliche Konfigurationsdateien nach dem ersten Start zu generieren), und ich versuchte, Öffnen/Speichern eines Fotos mit die GUI
  • ich zuvor gelöschten hochgeladen Carrierwave
  • Dateien I rails s einmal im Administrator-Modus lief (jetzt läuft es gut, auch ohne)
0

hinzufügen gem "mini_magick" in Ihrer Edelstein-Datei und kein Bündel installieren.

In Ihrem AvatarUploader Klasse hinzufügen umfassen CarrierWave :: MiniMagick

In Ihrem User-Modell mount_uploader hinzufügen: avtar, AvatarUploader