2016-04-02 15 views
0

Ich habe schon eine Weile damit zu kämpfen und obwohl ich einen Haufen gegooglet habe, kann ich immer noch nicht die Antwort auf meine Frage finden. Ich habe eine Rails-Site auf Heroku. Ich erlaube Benutzern, Beiträge zu erstellen, und ich möchte, dass sie mehrere Bilder hinzufügen können. Ich verwende Rails 4.2.1 mit carrierwave und ohne S3-direct uploads funktioniert alles gut.Rails S3 carrierwave upload funktioniert nicht

Ich möchte jedoch direkten Upload auf Amazon S3 implementieren. Ich habe versucht, Heroku eigene Anleitung zu implementieren: https://devcenter.heroku.com/articles/direct-to-s3-image-uploads-in-rails

Dies funktioniert-nearly. Das Formular sieht gut aus, es funktioniert wie ein Zauber, und die Datei (ich bin immer noch bei nur einer atm stecken) wird auf Amazon hochgeladen, mit einem Link und alles. Es wird jedoch nicht in meiner App angezeigt.

Started PATCH "/posts/47" for 127.0.0.1 at 2016-04-02 21:46:47  +0200 
Processing by PostsController#update as HTML 
Parameters: {"utf8"=>"✓", "authenticity_token"=>"***auth token***", "posts"=>{"image"=>"//myapp.s3.amazonaws.com/uploads/d886f0c3-f51c-48a6-8e00-30a0a278e298/image-that-i-have-uploaded.jpg", "remote_image_url"=>"", "image_cache"=>"", "remove_image"=>"0", "title"=>"test", "description_short"=>"testdescshort2", "description_long"=>"testdesclong2"}, "button"=>"", "id"=>"47"} 

Post Load (1.1ms) SELECT "posts".* FROM "posts" WHERE "posts"."id" = ? LIMIT 1 [["id", 47]] 

User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT 1 [["id", 1]] 

Post Load (0.1ms) SELECT "posts".* FROM "posts" WHERE "posts"."user_id" = ? AND "posts"."id" = ? LIMIT 1 [["user_id", 1], ["id", 47]] 

    (0.2ms) begin transaction 

Post Load (0.2ms) SELECT "posts".* FROM "posts" WHERE "posts"."id" = ? LIMIT 1 [["id", 47]] 

SQL (1.8ms) UPDATE "posts" SET "image" = ?, "updated_at" = ? WHERE "posts"."id" = ? [["image", "73811_108472322553034_2478153_n.jpeg"], ["updated_at", "2016-04-02 19:46:48.005926"], ["id", 47]] 
(0.9ms) commit transaction 

Redirected to http://localhost:3000/posts/47 
Completed 302 Found in 43ms (ActiveRecord: 4.5ms) 

(Ich habe Token aus diesem die wirkliche Authentizität genommen, weil ich nicht sicher bin, ob ich teilen kann, dass:

Um Ihnen eine Idee zu geben, was Ausgabe, hier ist meine Konsole geschieht Privatsphäre Gründe.)

Wie Sie sehen können, wird ein Link für mein hochgeladenes Bild erstellt. Es lädt jedoch nicht den Post mit dem neuen Bild. Stattdessen lädt es das bereits vorhandene Bild.

Das gleiche passiert, wenn ich einen neuen Beitrag erstellen - dann speichert es nur das Bild als Null.

Hat jemand nicht was ich tun kann? Ich bin mir sicher, ich mache gerade etwas einfach falsch, aber ich kann es nicht finden.

Ihre Hilfe wird enorm geschätzt !!!!

+0

Was passiert, wenn Sie, dass die Bild-URL in Ihrem Browser besuchen? –

+0

Es lädt das Bild herunter. Könnte es sein, dass der Fehler von der fehlenden "http:" kommt? Wenn ja, wie repariere ich das? – pesolari

+0

@AnthonyTo weißt du, was ich tun kann? Der Link scheint zu funktionieren. – pesolari

Antwort

Verwandte Themen