2010-02-26 14 views
8

Ich habe meine Anwendung von Schienen 2.3 auf Schienen3 migriert und ich habe ein Problem mit Büroklammer. Ich sah dort war ein Zweig für Schienen3 auf Büroklammer Git.Schienen3 und Büroklammer

Also habe ich "gem 'Büroklammer',: git => 'git: //github.com/thoughtbot/paperclip.git',: branch => 'rails3'" in die Gemdatei eingefügt und starte das Befehlspaket install .

Sobald Büroklammer installiert war, funktionierte der Upload gut, aber nicht die Stile. Ich habe einen Hack gesehen, um es zu reparieren.

# in lib/paperclip/attachment.rb at line 293 
def callback which #:nodoc: 
    # replace this line... 
    # instance.run_callbacks(which, @queued_for_write){|result,obj| result == false } 
    # with this: 
    instance.run_callbacks(which, @queued_for_write) 
end 

Die Stile sind danach ok, aber ich bin nicht in der Lage, den Prozessor zu aktivieren. Mein Code ist:

has_attached_file     :image, 
            :default_url => "/images/nopicture.jpg", 
            :styles => { :large => "800x600>", 
               :cropped => Proc.new { |instance| "#{instance.width}x#{instance.height}>" }, 
               :crop => "300x300>" }, 
            :processors => [:cropper] 

Mein Prozessor in RAILS_APP/lib/paperclip_processors/cropper.rb und enthält befindet:

module Paperclip 
    class Cropper < Thumbnail 
    def transformation_command 
     if crop_command and !skip_crop? 
     crop_command + super.sub(/ -crop \S+/, '') 
     else 
     super 
     end 
    end 

    def crop_command 
     target = @attachment.instance 
     trans = ""; 
     trans << " -crop #{target.crop_w}x#{target.crop_h}+#{target.crop_x}+#{target.crop_y}" if target.cropping? 
     trans << " -resize \"#{target.width}x#{target.height}\"" 
     trans 
    end 

    def skip_crop? 
    ["800x600>", "300x300>"].include?(@target_geometry.to_s) 
    end 
end 
end 

Mein Problem ist, dass ich diese Fehlermeldung bekommen: nicht initialisierte Konstante Paperclip :: Cropper Der beschnittene Prozessor ist nicht geladen.

Hat jemand eine Idee, das zu beheben?

Zur Information meine Anwendung funktioniert gut auf Schienen 2.3.4.

Antwort

2

Server neu starten, arbeitete für mich :)

0

Ich habe das gleiche Problem. Ich bin mit dem Büroklammer Juwel aus diesem Repository:

gem "paperclip", :git => "git://github.com/JasonKing/paperclip.git", :branch => "rails3" 

Und ich auch „nicht initialisierte Konstante Büroklammer :: Cropper“. Neustart des Servers hat nicht funktioniert!

1

Ich habe auch "nicht initialisierte konstante Paperclip :: Cropper" Ausnahme. Aber Sie können Ihre cropper.rb in das Büroklammer-Verzeichnis lib verschieben und hinzufügen erfordern 'Büroklammer/cropper.rb'. Es ist für mich arbeiten, aber ich benutze Bündler, so scheint es sehr hässlich ...

+0

ich endgültig ly löste das Problem so wie du es getan hast, außer dass ich Paperclip als Plugin installiert habe ... Ein bisschen weniger hässlich: P – Arkan

0

Yep, installieren Paperclip als Plugin und es wird

5

Ich habe das gleiche Problem umgehen. Scheint wie Papierklammer-Prozessoren sind nicht in Schienen geladen 3. Bis jemand es zu beheben, hackte ich das Problem Verschieben der Datei cropper.rb innerhalb/Config/Initialisierer

1

In Ihrer Photo.rb-Klasse, oder was immer Sie früher benötigt haben ‚.../cropper.rb‘ muss man auch die Wurzel des Projekts in den Weg stellen:

require "#{config.root}/lib/paperclip_processors/cropper.rb" # required to make cropping work. 

bevor es verwendet werden gerade benötigen ‚lib/...‘

Verwandte Themen