2010-12-24 7 views
20

Volevo eseguire la richiamata after_post_process ma non sembra funzionare in Rails 3.0.1 utilizzando Paperclip 2.3.8. Si dà un errore:callback paperclip o semplice processore?

undefined method `_post_process_callbacks' for #<Class:0x102d55ea0> 

voglio chiamare l'API Panda dopo che il file è stato caricato. Avrei creato il mio processore per questo, ma come Panda gestisce l'elaborazione, e può caricare anche i file, e fare la fila per una durata indeterminata ho pensato che un callback sarebbe andato bene. Ma i callback non sembrano funzionare in Rails3.

after_post_process :panda_create 

    def panda_create 
     video = Panda::Video.create(:source_url => mp3.url.gsub(/[?]\d*/,''), :profiles => "f4475446032025d7216226ad8987f8e9", :path_format => "blah/1234") 
    end 

Ho provato a richiedere e includere per graffetta nel mio modello, ma non sembrava importare.

Anyideas?

+0

In quale linea in graffetta si verifica l'errore? – Zabba

risposta

46

Soluzione ...

ho messo la richiamata dopo la graffetta has_attached nel modello dato e funziona meravigliosamente. Ero così abituato a mettere sempre il callback in cima a tutti i modelli che non mi è venuto in mente fino a tardi.

+0

Ha funzionato anche per me. Assicurati di accettare la tua risposta! :-) –

8

Spostando il has_attached_file attribuiscono sopra la validates_presence_of e validates_attachment nel modello deve ancora essere fatto a quanto pare. Ho appena incontrato lo stesso problema nell'implementazione di PaperClip in Rails 4/Ruby 2 e l'ho messo sopra fisso.

+0

Questo era il problema con me .. – whizcreed

+0

Ho avuto lo stesso problema durante l'aggiornamento della gemma Paperclip. La tua correzione ha funzionato per me. Grazie! –

1

Mi sono imbattuto in questo problema perché il nome della mia proprietà immagine graffetta non corrispondeva al nome che stavo convalidando contro.

as_attached_file :image validates_attachment_content_type: :not_image