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)
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.
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%Tags und Links ruby-on-rails-3 amazon-s3 carrierwave