3

私のruby-on-railsアプリケーションでの画像のアップロードには、ローカルで素晴らしいルビーの宝石クリップを使用します。 herokuのウェブホスティングについては、amazon s3を使って写真を保存したいと思っています。しかし、画像をアップロードするたびにメッセージが届きますamazon s3とのHerokuエラー

申し訳ありませんが、何か問題がありました。あなたがアプリケーションの所有者であれば、ログで詳細を確認してください。ウェブ誰かに

は私がV2.0よりも古い 'AWS-SDK' を使用する必要があると思いますが、残念ながら私のコンソールは、次に言うことを言っ

初期化されていないconstatのAWS

ウェブサイトがローカルホスト上で実行されるのではなく、heroku上で実行されないようにします(アプリケーションエラーが発生します)。

だから私は英雄でも使用されている2.3と貼り付けたheorku website

AWS情報(AWS_ACCESS_KEY_ID、AWS_BUCKET、AWS_REGION、AWS_SECRET_ACCESS_KEY ...)と書き込み/許可を読んで、正しい

でなければなりませんproduction.rb部分がこの

config.paperclip_defaults = { 
    storage: :s3, 
    s3_credentials: { 
     bucket: ENV.fetch('AWS_BUCKET'), 
     access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'), 
     secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'), 
     s3_region: ENV.fetch('AWS_REGION'), 
    } 
    } 

のように見えますGemfile

gem 'paperclip', '~> 4.3', '>= 4.3.6' 
gem 'aws-sdk', '~> 2.3' 

誰もアイデアWHA私はそれを働かせるためにすることができますか?

+0

メッセージは明示的に要求されているので、なぜ最初にログファイルをチェックしていないのですか? – CBroe

+0

私は試しましたが、それはそれほど大きな助けにはなりませんでした。しかし、いずれかの行で、 "NameError(初期化されていない定数Paperclip :: Storage :: S3 :: AWS"が問題になる可能性がありますか? –

答えて

1

問題を解決しました。 以下の宝石を並行して走らせると、それを実行するように動作します。

gem 'aws-sdk', '~> 2.3' 
gem 'aws-sdk-v1' 

それはそれです。