Erstellen Sie Versionen mit Carrierwave mit Ruby neu

8

Die Website, an der ich gerade arbeite, wird gerade überarbeitet. Daher müssen unsere Nutzerbilder angepasst werden. Die Website verwendet derzeit carrierwave gem, um alle Bild- und Videoverarbeitungen zu verarbeiten. Jedes Bild enthält eine Originaldatei mit einem eindeutigen Dateinamen, der auf folgenden Kriterien basiert:

%Vor%

und secure_token werden von

generiert %Vor%

Die Aufgabe, die dafür erstellt wird, ist:

%Vor%

Das Problem besteht darin, dass beim Erstellen der neuen Bilder die Dateien unter einem neuen Dateinamen gespeichert werden und nicht nach der im Bild-Uploader festgelegten Benennung, so dass die Website sie nicht finden kann. Im Folgenden sehen Sie ein Beispiel für die Speicherung der Bilder.

Wie es sein sollte:

Originaldatei: fdk392ks93_39ei.png

Miniaturansicht: thumb_fdk392ks93_39ei.png

Wie es ist:

Originaldatei: fdk392ks93_39ei.png

Miniaturansicht: thumb_fajeilkadifej_jakdjfi.png

Jede Hilfe wäre sehr willkommen.

Weitere Informationen:

Modell: Benutzer

Uploader: user_image (dies ist auch der Spaltenname, der den Ordner / Dateinamen speichert)

    
CorreyS 15.02.2013, 23:45
quelle

2 Antworten

17

Nach dem Aufruf von recreate_versions! müssen Sie save! im Modell aufrufen. Sie können diese Frage beantworten wo jemand im Grunde dasselbe gefragt hat.

    
stravid 25.06.2013, 14:14
quelle
8

In der README wird deutlich angegeben, wie Carrierwave-Versionen neu erstellt werden:

Ссылка

"Sie könnten zu einer Situation kommen, in der Sie eine Version rückwirkend ändern oder eine neue hinzufügen möchten. Sie können die receate_versions! -Methode verwenden, um die Versionen aus der Basisdatei neu zu erstellen. Dies verwendet einen naiven Ansatz, der erneut hochlädt und verarbeiten Sie die angegebene Version oder alle Versionen, wenn keine als Argument übergeben wird.

%Vor%

Oder auf einem geladenen Uploader:

%Vor%     
sevenseacat 16.02.2013 07:31
quelle