30

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?

Giacomo1968
  • 25,759
  • 11
  • 71
  • 103
Trip
  • 26,756
  • 46
  • 158
  • 277

2 Answers2

67

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!
Trip
  • 26,756
  • 46
  • 158
  • 277
12

You can also use the included Rake task:

$ rake paperclip:refresh CLASS=Deal

See Paperclip Wiki

Undistraction
  • 42,754
  • 56
  • 195
  • 331