Ho utilizzato la graffetta per caricare e ridimensionare automaticamente le foto nella mia app Rails e mi piace. L'unico problema è che ogni due mesi il mio pazzo manager decide che vuole una nuova dimensione per mostrare le foto. Quindi aggiungo un nuovo stile al mio modello Photo e tutto è buono per le nuove foto, ma le foto preesistenti ora sono un problema . Ora che sto iniziando ad avere più di poche foto da trattare, ho bisogno di un modo programmatico per ridimensionare le foto esistenti. Forse c'è qualche trucco a forma di graffetta per una cosa del genere? Preferirei non dover capire RMagick e scrivere una sceneggiatura me stesso se non dovessi farlo.Ridimensiona le immagini esistenti con il nuovo stile in paperclip e RMagick
risposta
Si desidera il metodo reprocess!
di Paperclip :: Attachment. Vedi the docs.
class User < ActiveRecord::Base
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end
# Console...
>> User.find_each { |u| u.avatar.reprocess! }
Inoltre, secondo i commenti prima che il metodo reprocess!
, c'è una graffetta: rinfrescare compito Rake, che potrebbe essere più facile.
grazie! la graffetta: refresh rake ha funzionato benissimo – tybro0103
mantenendo tale comando nei miei preferiti, grazie :) – Richlewis
Ecco la documentazione per rigenerare gli stili di graffetta. https://github.com/thoughtbot/paperclip/wiki/Thumbnail-Generation Il comando dovrebbe essere 'rake paperclip: refresh: YOUR_STYLE_HERE CLASS = User' – Hengjie
provare questo compito rake fornito da graffetta
rake paperclip:refresh:missing_styles
Rif: https://github.com/thoughtbot/paperclip#post-processing
... o farlo per un solo modello: 'rastrello paperclip: refresh: missing_styles CLASS = YourModelName' – Arcolye
Non dimenticare di impostare l'ambiente rails con l'attività. 'rake paperclip: refresh: missing_styles CLASS = YourModelName RAILS_ENV = production' –
Nizza Domanda Caro 1 !!! –