當我按照生成的鏈接將其鏈接到以下錯誤:
您嘗試訪問的桶必須解決使用指定的終結點。請將所有未來請求發送到此端點。
我已經把我的回形針配置,配置/環境/ staging.rb
config.paperclip_defaults = {
:storage => :s3,
:s3_credentials => {
:bucket => ENV['S3_BUCKET'],
:access_key_id => ENV['S3_KEY'],
:secret_access_key => ENV['S3_SECRET'],
:path => "/image/:id/:filename",
:url => ":s3_domain_url"
}
}
我已經把我的ENV變量Heroku的分期ENV:
$ heroku config:set S3_BUCKET=staging_bucket --remote staging
$ heroku config:set S3_KEY=XXXXX --remote staging
$ heroku config:set S3_SECRET=XXXXX --remote staging
圖像似乎被上傳正確,我可以在控制檯中看到它們,但我無法在Web應用程序中顯示它們。這是對圖像生成的URL是:
http://s3.amazonaws.com/myapp-staging/assets/attachments/000/000/004/small/IMG_0902.JPG?1368381995
這似乎是正確的,除了後面的部分?我不知道是指什麼。
謝謝您的回答。這確實是公開的。我最終刪除了存儲桶並使用了美國標準存儲。我猜aws-sdk寶石與歐盟地區還不兼容。 – Ayrad 2013-05-13 18:34:18
很高興聽到你解決了!我沒有想過地區和aws-sdk寶石。從這個SO Q&A(http://stackoverflow.com/questions/12908599/aws-sdk-for-ruby-access-folder-within-bucket)來看,它默認爲US-EAST地區,但您可以將其設置爲任何其他地區::s3_endpoint =>'s3-eu-west-1.amazonaws.com(我很想知道是否將該端點添加到配置幫助...不是你需要,因爲它現在工作正常:)。 – 2013-05-14 17:51:38
我確實添加了歐洲的網址,但是:url變量不能:s3_endpoint在下面的教程之後,比如這個http://www.conandalton.net/2011/02/paperclip-s3-and-european-buckets.html 。關於這個問題的錯誤在這裏:https://github.com/marcel/aws-s3/issues/4 – Ayrad 2013-05-15 08:00:02