Cambiar el tamaño de las imágenes existentes a un nuevo estilo en paperclip & RMagick


He estado usando paperclip para subir y redimensionar automáticamente las fotos en mi aplicación Rails, y me encanta. El único problema es que cada dos meses mi gerente loco decide que quiere un nuevo tamaño para mostrar las fotos. Así que agrego un nuevo estilo en mi modelo fotográfico y todo es bueno para fotos nuevas, pero las fotos preexistentes ahora son un problema. Ahora que estoy empezando a tener más de unas pocas fotos para tratar, necesito una forma programática de cambiar el tamaño de las fotos existentes. Tal vez hay algún truco de clip para tal cosa? Realmente preferiría no tener que averiguar RMagick y escribir un guión yo mismo si no tengo que hacerlo.

Author: tybro0103, 2010-06-04

2 answers

Quieres el método reprocess! de Paperclip::Attachment. Véase los documentos.

class User < ActiveRecord::Base
  has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end

# Console...
>> User.find_each { |u| u.avatar.reprocess! }

También, de acuerdo con los comentarios antes del método reprocess!, hay una tarea paperclip:refresh Rake, que podría ser más fácil.

 83
Author: Robert Speicher,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-04 20:32:30

Pruebe esta tarea de rake proporcionada por paperclip

rake paperclip:refresh:missing_styles

Ref: https://github.com/thoughtbot/paperclip#post-processing

 29
Author: Naveed,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-01 12:00:10