2014-04-22 2 views
5

Dopo aver tentato di implementare un processo per applicare auto_orient! alle mie immagini sto ottenendo questo errore:Rails - Il processo Carrierwave genera ArgumentError: nessuna immagine in questo elenco di immagini

ArgumentError (no images in this image list): 
    app/uploaders/image_uploader.rb:36:in `fix_exif_rotation' 
    app/controllers/posts_controller.rb:12:in `create' 

Carrierwave funziona bene senza il processo, ma genera un errore quando provo a caricare le immagini dopo l'aggiunta del processo. Ecco il processo:

process :fix_exif_rotation 

    def fix_exif_rotation 
    manipulate! do |image| 
     image = image.auto_orient! 
    end 
    end 

Ed ecco i miei messaggi # provocano:

def create 
    @user = User.find(current_user.id) 
    @post = @user.posts.create(params[:post].permit(:text, :image)) 
    redirect_to user_path(@user) 
    end 
+0

Potete anche incollare le params – Viren

+0

Parametri: { "utf8" => "✓", "authenticity_token" => "/ UeJdkaHrOf3Uq6TW9Nqbqi + Or8fkW7bmTjGSOlFD6g =", "post" => { "testo" => "", " image "=> # , @ original_filename =" 7.jpg ", @ content_type =" image/jpeg ", @ headers = "Content-Disposition: form-data; name = \" post [image] \ "; filename = \" 7.jpg \ "\ r \ nContent-Type: image/jpeg \ r \ n">}, "commit" => "Post"} –

+0

che strano avere una convalida o mostrare su carrierwave come whitelist e tutti i – Viren

risposta

11

ho ottenuto lo stesso errore, ed è stato risolto con l'installazione di Ghostscript

brew install ghostscript

0

mi è stato sempre lo stesso errore, ma ha avuto un problema diverso. Il mio codice sembrava:

def auto_orient(*args) # remove `(*args)` 
    manipulate! do |img| 
    img = img.auto_orient 
    end 
end 

Rimozione del (*args) risolto il problema.