Trying to get Paperclip to refresh or reprocess not working

Trip picture Trip · Jun 8, 2010 · Viewed 16.2k times · Source

I have over time, changed the size for thumbs of the class Deal. Through these changes, users were uploading to the site, so there are few people who have different sized thumbs. I wanted to reprocress or refresh these, so I went to into my root and typed:

rake paperclip:refresh class=Deal

Did nothing for the thumb sizes.. Then I in script/console :

Deal.find(987).reprocess!

Returned this :

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 class is this :

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

What can i do to have it reprocess the original to make the thumb the correct size in the current thumb size params?

UPDATE: I have found the attachment.rb included with Paperclip. What's interesting is that methods like .save, and .updated_at work. But reprocess! and a few other methods do not. Does anything smell obviously out of place?

Answer

Trip picture Trip · Jun 9, 2010

Got it!

It's because paperclip isn't relative to the Model's object, but rather the Model's object's image. So written proper, it would work like this :

Model.find(#).image.reprocess!