2010-06-08 13 views
27

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 tengan diferentes tamaños de pulgares. Quería reprocress o actualizar estos, así que fui a en mi raíz y proporcionado:Intentar que Paperclip se actualice o reprocesar no funciona

rake paperclip:refresh class=Deal 

hizo nada por el tamaño del pulgar .. Entonces en escritura/consola:

Deal.find (987) .reprocess!

devuelve este:

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 acuerdo es la siguiente:

=> 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 tenerlo reprocesar el original para que el pulgar del tamaño correcto en el pulgar actual tamaño params?

ACTUALIZACIÓN: he encontrado la attachment.rb incluido con el Paperclip. Lo que es interesante es que métodos como .save y .updated_at funcionan. Pero reprocess! y algunos otros métodos no. ¿Algo huele obviamente fuera de lugar?

Respuesta

64

¡Lo tengo!

Esto se debe a que paperclip no es relativo al objeto del Modelo, sino más bien a la imagen del objeto del Modelo. Así por escrito adecuado, que funcionaría así:

Model.find(#).image.reprocess! 
+17

Model.find_each {| lo | thing.image.reprocess! } – Schneems

Cuestiones relacionadas