Rails 3 - Amazon S3 Büroklammer EU-Problem

Ich bin mit:

Paperclip 2.3.16
Rails 3.0.9
Ruby 1.9.2
AWS - S3 0.6.2

Ich versuche, verwenden Sie die Büroklammer hochladen in die EU (Irland), basierend Eimer. Ich habe Folgendes in meinem Modell:

has_attached_file :image, :styles => { :grid => '90x128#', :list => '140x200#', :original => '400x548'},
            :storage => :s3,
                      :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
                      :url  => 'flyers/:id/:style/:basename.:extension',
                      :path => 'flyers/:id/:style/:basename.:extension',
                      :bucket => 'fsight'

In meiner Umgebung.rb habe ich auch eingestellt das schreiben an die AWS/s3 Standard-Host-auf die einschlägigen EU-eine mit:

require "aws/s3"
AWS::S3::DEFAULT_HOST.replace "s3-eu-west-1.amazonaws.com"

Dies funktioniert gut, und es mir erlaubt, die Bilder hochladen, und ich kann überprüfen Bild hochladen /löschen, indem Sie die AWS Management Tröster.

Jedoch habe ich ein problem beim anzeigen der Bilder auf meiner Website. Die Bilder laden nicht, und ich haben festgestellt, dass die Ursache, weil die URL generiert, verwendet die alten Standard-host. Eg:

, Was es sein sollte:
https://s3-eu-west-1.amazonaws.com/fsight/flyers/50/full/4759543368588654950.jpg

, Was es eigentlich ist: http://s3.amazonaws.com/fsight/flyers/50/full/4759543368588654950.jpg?1314801178

Wie Sie sehen können, verwendet es die alten Standard-host.

Ich habe versucht, indem Sie:

Paperclip.interpolates(:s3_eu_url) do |att, style|
    "#{att.s3_protocol}://s3-eu-west-1.amazonaws.com/#{att.bucket_name}/#{att.path(style)}"
end

Aber dann empfangen die folgende Fehlermeldung:

 wrong number of arguments (0 for 1)

Extracted source (around line #9):

 <img src= <%= @event.image.url(:original) %>

Ich weiß Büroklammer hat einige Probleme bei der Verwendung von EU-Eimer, aber könnte jemand mir dabei helfen?

InformationsquelleAutor Ammar | 2011-08-31
Schreibe einen Kommentar