Ich habe ein Problem, das nur diese Anwendung in der Produktionsumgebung betrifft. Wir haben eine einzelne Controller-Aktion, die verwendet wird, um Artikelobjekte zu "klonen", indem ein neues Objekt erstellt wird, die Attribute einander gleich gesetzt werden und dann die Bilder zum Objekt hinzugefügt werden. HierKopieren von Bildern mit Paperclip Gem nicht möglich mit image.to_file für S3-Bilder
ist der Teil des Controller, der das tut:
def clone_article
ba = BlogArticle.find(params[:id])
new_ba = BlogArticle.new(ba.attributes)
ba.blog_article_images.each do |blog_img|
new_ba.blog_article_images.build(:image => blog_img.image.to_file, :embedded => blog_img.embedded?)
end
new_ba.status = 'draft'
new_ba.title = "Copy of #{ba.title}"
if new_ba.save
flash[:notice] = "Clone successful"
else
if new_ba.errors.empty?
flash[:notice] = "Unknown error occurred while cloning the post"
else
error = 'Problem while cloning the post: <br>'
new_ba.errors.each {|field, msg| error += field + " " + msg + "<br>"}
flash[:error] = error
end
end
redirect_to admin_blog_articles_url
Ende
Das Problem ist, dass dieses Skript perfekt funktioniert, wenn auf lokale Dateien auf dem Server verweisen. In der Produktionsumgebung, in der die Bilder auf S3 gespeichert sind, können jedoch keine der Bilder aus den ursprünglichen Posts Images kopiert werden. Ich denke, das könnte ein Problem mit dem Timing sein, so wie der Controller nicht darauf wartet, dass die Büroklammer die Dateien in das App-Verzeichnis lädt, bevor sie den Prozess beendet, aber ich kann scheinbar nichts zum Laufen bringen. Außerdem bin ich kein Rails-Experte, also bin ich ein bisschen verloren.
Danke
Hattest du jemals Glück, das herauszufinden? Ich habe das gleiche Problem. –