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