Carrierwave - Save nil, wenn das Bild nicht hochgeladen wird

8

Ich versuche, Bilder vom lokalen Dateisystem in Dropbox zu migrieren, also verwende ich carrierwave dropbox gem, um alle Bilder in dropbox zu verschieben. Ich kann neue Bilder speichern, die von meiner Anwendung hochgeladen werden. Ich versuche, die vorhandenen Bilder zu verschieben.

Ich benutze Article.first.avatar? Methode, um zu überprüfen, ob das Bild existiert oder nicht, habe ich diese Methode an vielen Stellen für verschiedene Größen von Bildern in meiner Anwendung verwendet.

Wenn ich die obige Methode verwende, um herauszufinden, ob das Bild vorhanden ist oder nicht, wird immer dann "Ja" angezeigt, wenn das Bild nicht in der Dropbox vorhanden ist. Schau auf meine Konsolenausgabe (2),

Mein Uploader:

%Vor%

Konsolenausgabe (1)

%Vor%

Ich habe den Uploader wie folgt geändert:

%Vor%

Konsolenausgabe (2)

%Vor%
  1. warum zeigt es "wahr", wenn das Bild nicht vorhanden ist.
  2. Wie kann ich "falsch" erhalten, wenn das Bild nicht in der Dropbox vorhanden ist.
Mano 20.04.2015, 09:46
quelle

1 Antwort

0

Mein Stich im Dunkeln ist der innerhalb von Carrierwave, die normale Dateiklasse, die sie zurückgibt (gesäuberte Datei), reagiert auf leer, indem sie prüft, ob die Datei existiert:

Ссылка

Innerhalb des carrierwave-Dropbox-Edelsteins befindet sich die Dateiklasse ( Ссылка ) implementiert dies nicht. Ich schätze, wenn Sie die Klasse wieder geöffnet haben und

hinzugefügt haben %Vor%

Es würde wahrscheinlich funktionieren?

    
Joe Pym 22.04.2015 00:51
quelle

Tags und Links