18

I've added 2000 pictures to my images table and I'm using the Paperclip plugin to create thumbs. I'm wondering if there's a way to go through the database and add another :styles element.

For example, when I added the images I had the following in my model:

has_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" }

However, now I want to add a :large attribute and have it applied to every image that's already in my table. Something like:

has_attached_file :image, :styles => { :large => "800x800>", :medium => "300x300>", :thumb => "100x100>" }

Is this possible? Or would I have to re-add all 2000 pictures?

mculp
  • 2,637
  • 1
  • 25
  • 34

2 Answers2

42

If Paperclip is installed as a plugin, you can do this:

rake paperclip:refresh:thumbnails CLASS=Screenshot

where Screenshot is the name of the class with the attachment.

If it's installed as a gem, do this inside script/console:

Screenshot.all.each {|s| s.image.reprocess! }

replacing Screenshot with the appropriate class name

thenengah
  • 42,557
  • 33
  • 113
  • 157
Jonathon Horsman
  • 2,303
  • 1
  • 20
  • 18
6
rake paperclip:refresh:thumbnails
mculp
  • 2,637
  • 1
  • 25
  • 34