2010-06-08 8 views
27

Ho avuto tempo, ho cambiato le dimensioni per i pollici della classe Deal. Attraverso questi cambiamenti, gli utenti stavano caricando sul sito, quindi ci sono poche persone che hanno pollici di dimensioni diverse. Volevo reprocress o aggiornare queste, così sono andato a nel mio radice e digitato:Tentativo di ottenere un aggiornamento o una rielaborazione di Paperclip

rake paperclip:refresh class=Deal 

Non ha fatto nulla per le dimensioni del pollice .. Poi io in script/console:

Deal.find (987) .reprocess!

ha restituito questo:

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 

La mia classe affare è questo:

=> 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) 

Che cosa posso fare per averlo rielaborare l'originale per rendere il pollice la dimensione corretta nel pollice corrente parametri di dimensione?

UPDATE: ho trovato il attachment.rb incluso con Paperclip. La cosa interessante è che i metodi come .save e .updated_at funzionano. Ma lo reprocess! e pochi altri metodi no. Qualcosa puzza evidentemente fuori luogo?

risposta

64

Trovato!

È perché la graffetta non è relativa all'oggetto del modello, ma piuttosto all'immagine dell'oggetto del modello. Così scritta adeguata, che avrebbe funzionato in questo modo:

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

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

Problemi correlati