Изменение размера существующих изображений в новом стиле в скрепке и RMagick - PullRequest
61 голосов
/ 04 июня 2010

Я использую скрепку для загрузки и автоматического изменения размера фотографий в своем приложении Rails, и мне это нравится. Единственная проблема - это примерно раз в два месяца мой сумасшедший менеджер решает, что ему нужен новый размер для отображения фотографий. Поэтому я добавляю новый стиль в свою модель фотографий, и все хорошо для новых фотографий, но уже существующие фотографии теперь являются проблемой , Теперь, когда у меня есть несколько фотографий, мне нужен программный способ изменить размеры существующих фотографий. Возможно, есть какая-то хитрость для скрепки? Я действительно предпочел бы не разбираться в RMagick и сам писать сценарий, если мне это не нужно.

Ответы [ 2 ]

84 голосов
/ 05 июня 2010

Требуется метод reprocess! Paperclip :: Attachment. См. документы .

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

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

Кроме того, согласно комментариям перед методом reprocess!, есть скрепка: задача обновления Rake, которая может быть проще.

29 голосов
/ 01 марта 2013

попробуйте выполнить это задание с помощью скрепки

rake paperclip:refresh:missing_styles

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

...