2016-04-23 2 views
1

Ich habe ein Formular, das mehrere Schritte hat und das erste ist, ein Bild (via carrierwave) hochzuladen, das im Hintergrund passieren soll. Der Server erhält also eine Datei für ein Objekt, das noch nicht existiert. Ich frage mich, was ist die beste Vorgehensweise für diesen Fall?Best Practice beim Hochladen von Dateien, bevor das Objekt erstellt wird?

Ich dachte an zwei Ansätze:

  • Machen Sie das Bild ein Modell-Datei, die das Bild Ausweis beim Upload fertig erstellt ist und zurückkehrt.
  • Erstellen Sie das Objekt mit deaktivierten Validierungen und nur das gespeicherte Bild, das die Objekt-ID zurückgibt und anschließend mit Validierungen auf aktualisiert.

Ich bin auf Nein gelehnt. Aber vielleicht hat einer von euch noch eine bessere Idee? Nicht glücklich, ein neues Modell nur für das Bild zu erstellen.

Antwort

0

carrierwave ist ein Qualitätsjuwel, das Ihnen bei Ihren Zwecken hilft. Es ist nicht erforderlich, ein neues Modell für ein Bild zu erstellen, sondern Sie fügen einfach ein Bildfeld zu einer Ihrer DB-Tabellen in schema.rb hinzu.

Relevant Tutorial

+0

Sorry, ich vergaß zu erwähnen, dass ich bereits carrierwave bin mit und der Edelstein selbst funktioniert gut. Die Frage ist, wie die Datei gespeichert wird, bevor das mit ihr verknüpfte Objekt erstellt wird. – Cojones