2010-06-08 5 views
27

Ich habe im Laufe der Zeit die Größe für Daumen der Klasse Deal geändert. Durch diese Änderungen wurden Nutzer auf die Website hochgeladen, sodass nur wenige Personen unterschiedlich große Daumen haben. Ich wollte diese reprocress oder zu aktualisieren, also ging ich zu mir in die Wurzel und tippte:Der Versuch, Paperclip zu aktualisieren oder zu regenerieren funktioniert nicht

rake paperclip:refresh class=Deal 

Hat nichts für die Daumengrößen .. Dann habe ich in script/console:

Deal.find (987) .reprocess!

diese Retour:

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 

My Deal Klasse ist dies:

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

Was kann ich tun, um es haben das Original erneut zu verarbeiten, den Daumen die richtige Größe in den aktuellen Daumen zu machen Größe Params?

UPDATE: ich die attachment.rb mit Paperclip enthalten gefunden. Interessant ist, dass Methoden wie .save und .updated_at funktionieren. Aber reprocess! und ein paar andere Methoden nicht. Riecht etwas offensichtlich fehl am Platz?

Antwort

64

Verstanden!

Dies liegt daran, dass die Büroklammer nicht relativ zum Objekt des Modells ist, sondern zum Bild des Modells. So richtige geschrieben, würde es so funktionieren:

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

Model.find_each {| Sache | ding.image.reprocess! } – Schneems

Verwandte Themen