Frage

Ich habe gerade zu rails3 aufgerüstet und als ich mein üblicher attachment_fu Plugin konnte installiert. So begann ich es googeln, und obwohl ich eine rails3 Version zu finden habe es geschafft, dort schien viel mehr Leute über mit rails3 Büroklammer im Gespräch zu sein.

Also erstens, was sind die Vorteile von Büroklammer?

Gibt es eine bessere Unterstützung für rails3 damit?

War es hilfreich?

Lösung

Weder noch. Verwenden Sie carrierwave .

, um die Datei-Uploads zu handhaben, ich habe von Büroklammer auf CarrierWave geschaltet. Während Büroklammer hat (und weiter), mir zu dienen und in vielen Anwendungen mit denen ich arbeite, schätze ich wirklich den modularen Ansatz, dass CarrierWave nimmt. Es ist Agnostiker darüber, welche der populären S3 Clients, die Sie verwenden, unterstützt beide aws / s3 und right_aws. Es ist auch ORM Agnostiker und nicht eng gekoppelt an Active Record. Die enge Kopplung von Büroklammer hat uns veranlasst, einige Trauer bei der Arbeit, und ich bin auch über den Zustand der Büroklammer Unterstützung für aws / s3 und right_aws verwirrt. Also, ich war froh, dieses neue Projekt zu finden, und der Betreuer Jonas Nicklas scheint ein extrem reaktionsschnell und hilfreich Geck zu sein, was immer gut ist. Der Code sieht gut aus, und ich habe eine einfache Zeit die Arbeit mit dieser Bibliothek bisher hat. (Aus: http://trevorturk.com / 2010 / 08.02 / kzak-an-Open-Source-Web-basierte-Jukebox / )

Mehr Infos hier:

Andere Tipps

Ich habe attachment_fu rails3 kompatibel.

Siehe https://github.com/mihael/attachment_fu

EDIT: aber es für einige Benutzer gebrochen ist, und ich bin die Aufrechterhaltung es nicht weiter, so Einblick in andere Lösungen bitte, wenn Sie es selbst nicht hacken wollen;)

I getestet Büroklammer vs carrierwave vs attachment_fu mit rails3.0.3 für ein Projekt arbeite ich an.

Bisher attachment_fu funktioniert sehr gut wie immer, aber der Code muss noch einige Refactoring mit dem Callback-System. Es hat Backends für cloudfiles, s3.

Papierklammer ist auch sehr gut und ist sehr einfach zu bedienen. Die Grundeinstellung ließ mich nicht Hochladen von Filmen auf (hatte Option hinzufügen: whiny => false), und es hat nicht sanieren Dateinamen so, wie ich erwartet hatte. Dies ist, wie ich tat es:

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

hat Paperclip s3 Back-End, aber nicht über einen Backend für cloudfiles eingebaut. Es gibt eine Büroklammer Gabel für das (google für Büroklammer-cloudfiles), die für rails2.3.5 gebaut wird (Github für paperclip_demo suchen).

Carrierwave sieht sehr schön aus, mit der entkoppelten Architektur, aber ich weiß nicht, wie die Tatsache, dass es auf Updates und zerstört von Objekten nicht löscht Zeug hat, eine Reihe von Dateien und Verzeichnissen auf der Festplatte zu verlassen. Der Grund carrierwave Setup auch ließ mich nicht Hochladen von Filmen auf, obwohl es Dateinamen schön saniert. Ich habe nicht eine schnelle Lösung für diese, noch nicht gefunden. Wenn Sie Mongoid und GridFS verwenden, carrierwave hat eingebaute Unterstützung.

Schließlich nahm ich Büroklammer für mein Projekt.

Ich habe ein Juwel für attachment_fu erstellt, wenn Sie mit ihr in Rails 3.2 fortsetzen wollen und darüber hinaus.

https://rubygems.org/gems/pothoven-attachment_fu

Libelle ist wirklich gut. Probieren Sie es aus, kann es für Dateien und Bilder.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top