J'utilise paperclip pour télécharger et redimensionner automatiquement des photos dans mon application Rails, et j'adore ça. Le seul problème est que tous les deux mois mon manager fou décide qu'il veut une nouvelle taille pour afficher les photos. Donc j'ajoute un nouveau style dans mon modèle Photo et tout est bon pour les nouvelles photos, mais les photos préexistantes sont maintenant un problème . Maintenant que je commence à avoir plus que quelques photos à traiter, j'ai besoin d'un moyen programmatique pour redimensionner les photos existantes. Peut-être qu'il y a un truc de trombone pour une telle chose? Je préférerais ne pas avoir à comprendre RMagick et écrire un script moi-même si je ne le dois pas.Redimensionner les images existantes dans un nouveau style dans paperclip & RMagick
Répondre
Vous voulez la méthode reprocess!
de Paperclip :: Attachment. Voir the docs.
class User < ActiveRecord::Base
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end
# Console...
>> User.find_each { |u| u.avatar.reprocess! }
En outre, selon les commentaires avant la méthode reprocess!
, il y a un paperclip: rafraîchir tâche Rake, ce qui pourrait être plus facile.
merci! le trombone: rake de rafraîchissement a bien fonctionné – tybro0103
en gardant cette commande dans mes favoris, merci :) – Richlewis
Voici la documentation pour régénérer vos styles de trombones. https://github.com/thoughtbot/paperclip/wiki/Thumbnail-Generation La commande doit être 'rake paperclip: refresh: YOUR_STYLE_HERE CLASS = User' – Hengjie
essayer cette tâche râteau fourni par paperclip
rake paperclip:refresh:missing_styles
Ref: https://github.com/thoughtbot/paperclip#post-processing
... ou faites-le pour un seul modèle: 'rake paperclip: refresh: missing_styles CLASS = YourModelName' – Arcolye
N'oubliez pas de définir l'environnement des rails avec la tâche. 'rake trombone: actualiser: missing_styles CLASS = YourModelName RAILS_ENV = production' –
de Nice Question Cher +1 !!! –