thoughtbot rails notidentifiedbyimagemagickerror errors ruby-on-rails rake paperclip

ruby on rails - rails - Intentando que Paperclip se actualice o reprocesar no funciona



paperclip rails 5 (2)

Con el tiempo, he cambiado el tamaño de los pulgares de la clase Deal. A través de estos cambios, los usuarios subían al sitio, por lo que hay pocas personas que tienen pulgares de diferentes tamaños. Quería reprocesar o actualizar estos, así que fui a mi raíz y escribí:

rake paperclip:refresh class=Deal

No hice nada por el tamaño de los pulgares ... Entonces, en script / console:

Deal.find (987) .reprocess!

Devuelto esto:

NoMethodError: undefined method `reprocess!'' for #<Deal:0xb68a0988> from /data/HQ_Channel/releases/20100607130346/vendor/rails/activerecord/lib/active_record/attribute_methods.rb:260:in `method_missing'' from (irb):7

Mi clase de trato es esta:

=> Deal(id: integer, organization_id: integer, deal: string, value: string, what: string, description: string, image_file_name: string, image_content_type: string, image_file_size: integer, image_updated_at: datetime, created_at: datetime, updated_at: datetime, deal_image_file_name: string, deal_image_content_type: string, deal_image_file_size: integer, deal_image_uploaded_at: datetime)

¿Qué puedo hacer para reprocesar el original y hacer que el pulgar tenga el tamaño correcto en los parámetros actuales del tamaño del pulgar?

ACTUALIZACIÓN: He encontrado el archivo adjunto.rb incluido con Paperclip. Lo que es interesante es que los métodos como .save y .updated_at funcionan. ¡Pero reprocess! y algunos otros métodos no lo hacen. ¿Algo huele obviamente fuera de lugar?


¡Lo tengo!

Es porque el clip no es relativo al objeto del Modelo, sino a la imagen del objeto del Modelo. Así escrito, funcionaría así:

Model.find(#).image.reprocess!


También puedes usar la tarea Rake incluida:

$ rake paperclip:refresh CLASS=Deal

Ver Paperclip Wiki