Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Trying to get Paperclip to refresh or reprocess not working

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?

like image 959
Trip Avatar asked Jun 08 '10 17:06

Trip


2 Answers

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! 
like image 111
Trip Avatar answered Sep 22 '22 19:09

Trip


You can also use the included Rake task:

$ rake paperclip:refresh CLASS=Deal 

See Paperclip Wiki

like image 24
Undistraction Avatar answered Sep 19 '22 19:09

Undistraction