Ich habe attachment_fu rails3 kompatibel.
Siehe https://github.com/mihael/attachment_fu
EDIT: aber es ist für einige Nutzer gebrochen, und ich bin die Aufrechterhaltung es nicht weiter, so schauen Sie bitte in andere Lösungen, wenn Sie es nicht wollen, um sich zu hacken;)
Ich habe Paperclip vs carrierwave vs attachment_fu mit rails3.0.3 für ein Projekt getestet, an dem ich gerade arbeite.
Bis jetzt attachment_fu funktioniert sehr gut wie immer, aber der Code benötigt noch einige Refactoring mit dem Callback-System. Es hat Backends für cloudfiles, s3.
Büroklammer ist auch sehr gut und ist sehr einfach zu bedienen. Das grundlegende Setup ließ mich keine Filme hochladen (musste die Option hinzufügen: whiny => false), und es hat die Dateinamen nicht so geläutert, wie ich es erwartet hatte. Dies ist, wie ich es tat:
class Asset < ActiveRecord::Base
has_attached_file :file, :styles => { :small => "300x300>", :thumb => "50x50>" }, :whiny => false
before_create :sanitize_file_name
private
def sanitize_file_name
self.file.instance_write(:file_name, file_file_name.gsub(/[^A-Za-z0-9\.\-]/, '_'))
end
end
Paperclip s3 Backend hat, aber nicht über einen Backend für cloudfiles eingebaut. Dafür gibt es eine Büroklammergabel (Google for Paperclip-cloudfiles), die für rails2.3.5 (suche github für paperclip_demo) gebaut wurde.
Carrierwave sieht sehr nett aus, mit der entkoppelten Architektur, aber ich mag nicht die Tatsache, dass es Sachen auf Updates nicht löscht und Objekte zerstört, eine Menge von Dateien und Verzeichnissen auf der Festplatte belassen. Das grundlegende carrierwave-Setup ließ mich auch keine Filme hochladen, obwohl es die Dateinamen gut säuberte. Ich habe dafür noch keine schnelle Lösung gefunden. Wenn Sie Mongoid und GridFS verwenden, hat carrierwave Unterstützung eingebaut.
Schließlich nahm ich Büroklammer für mein Projekt.
Ok Dank für die Beratung in sie nun auf der Suche, sieht sehr interessant. –
Ja, Carrierwave ist großartig und verwendet jetzt die Fog-Bibliothek für die S3-Unterstützung. Ich kann es nur wärmstens empfehlen.Sie können auch den Paperclip-Kompatibilitätsmodus verwenden. Wenn Sie also jederzeit zu Paperclip wechseln möchten, ist das ganz einfach. –