Ich habe ein Rekordmodell und einen Controller:
%Vor%Es gibt zwei angehängte Dateien: den letzten Datensatz und das Archiv.
Die Methode upload_record
lädt einen Datensatz hoch und prüft, ob im letzten Datensatz ein anderer Datensatz vorhanden ist (der letzte Datensatz kann nur ein Datensatz sein und das Archiv kann viele enthalten). Wenn ein neuer Datensatz vorhanden ist oder wenn ein aktueller Datensatz vorhanden ist, wird die Methode create_archive
aufgerufen, die den letzten Datensatz in einen Archivdatensatz konvertiert und ihn in den Archivordner in s3 speichert. Der neu hochgeladene Datensatz wird zum aktuellen record
.
Es gibt eine Methode change_record
, die aufgerufen wird, wenn in einem der Archive auf 'make current' geklickt wird. In der Methode change_record
mache ich den letzten Datensatz mit den beiden Methoden create_archive
und create_current
in ein Archiv und das angeklickte Archiv in den letzten Datensatz.
Wenn ich einen Datensatz in ein archive_record
umwandle, macht es das erfolgreich und ich kann sehen, dass der Datensatz in /record/archive/
in S3 gespeichert wird
Aber wenn ich den Archivdatensatz in den aktuellen Datensatz umwandle, wird der Datensatz nicht in /record/latest/
in S3 gespeichert.
Danke, dass Sie dieses lange Problem gelesen haben. Kann mir jemand helfen?
Ich habe in meinem Projekt ein paar Klischees gemacht und zu viele Probleme mit URI.parse gehabt. Ich habe einfach einen vorhandenen Büroklammer-Datensatz gelöscht und es hat gut funktioniert. In deinem Fall sollte das gut funktionieren.
%Vor%Tags und Links ruby-on-rails amazon-s3 ruby-on-rails-4 paperclip