2010-10-29 8 views
1

J'ai mis à jour de 2.3.3 à 2.3.5 pour le bogue chaîne à tableau, et maintenant quand j'essaie d'appeler Model.image.reprocess! Je reçois l'erreur suivante. Est-ce quelque chose dans mon code ou quelque chose dans un trombone? Ou peut-être dans l'image que je télécharge?Erreur de retraitement dans Paperclip 2.3.5

"\xFF" from ASCII-8BIT to UTF-8 
/home/brian/.rvm/gems/[email protected]/gems/paperclip-2.3.5/lib/paperclip/storage/s3.rb:134:in `to_file' 
/home/brian/.rvm/gems/[email protected]/gems/paperclip-2.3.5/lib/paperclip/attachment.rb:219:in `reprocess!' 
/home/brian/Dropbox/portfolio/app/models/asset.rb:34:in `regenerate_styles!' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/performable_method.rb:20:in `perform' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/backend/base.rb:77:in `invoke_job' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/worker.rb:118:in `block (2 levels) in run' 
/home/brian/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/timeout.rb:57:in `timeout' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/worker.rb:118:in `block in run' 
/home/brian/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/benchmark.rb:309:in `realtime' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/worker.rb:117:in `run' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/worker.rb:176:in `reserve_and_run_one_job' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/worker.rb:102:in `block in work_off' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/worker.rb:101:in `times' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/worker.rb:101:in `work_off' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/worker.rb:76:in `block (2 levels) in start' 
/home/brian/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/benchmark.rb:309:in `realtime' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/worker.rb:75:in `block in start' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/worker.rb:72:in `loop' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/worker.rb:72:in `start' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/command.rb:100:in `run' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/command.rb:79:in `block in run_process' 
/home/brian/.rvm/gems/[email protected]/gems/daemons-1.1.0/lib/daemons/application.rb:250:in `call' 
/home/brian/.rvm/gems/[email protected]/gems/daemons-1.1.0/lib/daemons/application.rb:250:in `block in start_proc' 
/home/brian/.rvm/gems/[email protected]/gems/daemons-1.1.0/lib/daemons/daemonize.rb:199:in `call' 
/home/brian/.rvm/gems/[email protected]/gems/daemons-1.1.0/lib/daemons/daemonize.rb:199:in `call_as_daemon' 
/home/brian/.rvm/gems/[email protected]/gems/daemons-1.1.0/lib/daemons/application.rb:254:in `start_proc' 
/home/brian/.rvm/gems/[email protected]/gems/daemons-1.1.0/lib/daemons/application.rb:294:in `start' 
/home/brian/.rvm/gems/[email protected]/gems/daemons-1.1.0/lib/daemons/controller.rb:70:in `run' 
/home/brian/.rvm/gems/[email protected]/gems/daemons-1.1.0/lib/daemons.rb:193:in `block in run_proc' 
/home/brian/.rvm/gems/[email protected]/gems/daemons-1.1.0/lib/daemons/cmdline.rb:112:in `call' 
/home/brian/.rvm/gems/[email protected]/gems/daemons-1.1.0/lib/daemons/cmdline.rb:112:in `catch_exceptions' 
/home/brian/.rvm/gems/[email protected]/gems/daemons-1.1.0/lib/daemons.rb:192:in `run_proc' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/command.rb:78:in `run_process' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/command.rb:72:in `block in daemonize' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/command.rb:70:in `times' 
/home/brian/.rvm/gems/[email protected]/bundler/gems/delayed_job-aba9905764c2/lib/delayed/command.rb:70:in `daemonize' 
script/delayed_job:5:in `<main>' 

modèle pertinent:

class Asset < ActiveRecord::Base 
    attr_accessible :image, :image_file_name, :image_content_type, :image_file_size, :portfolio_item_id, :order 

    belongs_to :portfolio_item 

    has_attached_file :image, 
    :styles => { 
     :thumb => "20x20#", 
     :small => "100x100", 
     :large => "600x600>" 
       }, 
    :storage => :s3, 
    :s3_credentials => { 
     :access_key_id => ENV["S3_KEY"], 
     :secret_access_key => ENV["S3_SECRET"] 
         }, 
    :bucket => ENV["S3_BUCKET"], 
    :path => "portfolio/:attachment/:id/:style/:basename.:extension" 

    before_image_post_process do |image| 
    if changed? 
     processing = true 
     false 
    end 
    end 

    after_save do |image| 
    if image.changed? 
     send_later(:regenerate_styles!) 
    end 
    end 

    def regenerate_styles! 
    self.image.reprocess! 
    self.processing = false 
    self.save(false) 
    end 

    def changed? 
    self.image_file_size_changed? || 
    self.image_file_name_changed? || 
    self.image_content_type_changed? || 
    self.image_update_at_changed? 
    end 
end 

Répondre

0

Il est un bug avec paperclip. Revenez à la version précédente et tout ira bien. Cela m'a vraiment arraché les cheveux pendant quelques jours. :)

+0

Hum. Est-il fixé dans la branche maître? Je peux juste devoir vérifier cela. Ce n'est pas comme si quelque chose allait mal tourner si je mettais un repo git dans le code de production, non? ;) –

+0

On dirait qu'il a été corrigé il y a 3 jours, donc la mise à jour de la gemme devrait fonctionner. Il m'a appris à spécifier une version de gemme à la dure car elle a réduit mon application de production sur heroku. :) – mark

+0

Quelle version de la gemme utilisez-vous? Je suis sur 2.3.5 et ça me fait ça. –

0

Pas une réponse, confirmant simplement que j'ai le même problème. Je suis sur Rails 3 et ont essayé d'utiliser Paperclip 2.3.5, 2.3.3 et 2.3.4 Tout cela en vain continuer à obtenir la même erreur que @ Reactor5 lors de l'invocation retraitent

Toutes les idées?

EDIT J'ai examiné cela un peu plus. Il semble être un problème avec Paperclip et Ruby 1.9.2 Encore ne sais pas exactement ce qui le cause, mais le passage à Ruby 1.8.7 a résolu le problème pour moi.