2010-12-24 15 views
20

Quería ejecutar la devolución de llamada after_post_process, pero parece que no funciona en Rails 3.0.1 utilizando Paperclip 2.3.8. Da un error:devoluciones de clips o procesador simple?

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

Quiero llamar a la API de Panda después de que el archivo ha sido cargado. Hubiera creado mi propio procesador para esto, pero como Panda maneja el procesamiento, y también puede cargar los archivos y hacer cola por una duración indeterminada, pensé que una devolución de llamada funcionaría bien. Pero las devoluciones de llamada no parecen funcionar en 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 

Intenté requerir e incluir para clip en mi modelo, pero no parecía importar.

Anyideas?

+0

En qué línea de clip se produce el error? – Zabba

Respuesta

46

Solución ...

puse la devolución de llamada después de que el clip has_attached en el modelo dado y funciona muy bien. Estaba tan acostumbrado a poner siempre la devolución de llamada en la parte superior de todos los modelos que esto no se me ocurrió hasta más tarde.

+0

funcionó para mí también. ¡Asegúrate de aceptar tu propia respuesta! :-) –

8

Moviendo el has_attached_file atribuyen por encima de la validates_presence_of y validates_attachment en su modelo todavía hay que hacer lo que parece. Acabo de encontrar el mismo problema en mi implementación de PaperClip de Rails 4/Ruby 2 y ponerlo por encima lo solucionó.

+0

Este fue el problema conmigo ... – whizcreed

+0

Tuve el mismo problema al actualizar la gema Paperclip. Tu solución funcionó para mí. ¡Gracias! –

1

Me encontré con este problema porque el nombre de mi propiedad de imagen de clip no coincidía con el nombre con el que estaba validando.

as_attached_file :image validates_attachment_content_type: :not_image

Cuestiones relacionadas