Heroku出现与Amazon S3相关的错误

3
对于我在Ruby on Rails应用程序上的图像上传,我使用Ruby gem Paperclip,在本地运行良好。当在Heroku上进行Web托管时,我想使用Amazon S3来存储图片。但是每次我上传一张图片,都会收到以下消息:
“抱歉,出了点问题。如果您是应用程序所有者,请检查日志以获取更多信息。”
有人在网上说我必须使用早于v2.0的“aws-sdk”,但不幸的是,我的控制台会显示未初始化的常量AWS,因此该网站不再在本地主机上运行,也无法在Heroku上运行(我收到应用程序错误)。
因此,我坚持使用2.3版本,这也是Heroku 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'

有人有想法让它工作吗?


你为什么没有首先检查日志文件呢?因为消息明确要求你这样做。 - CBroe
我尝试过,但并没有帮助我太多。但其中一行中说“NameError(未初始化常量Paperclip :: Storage :: S3 :: AWS”可能是问题所在吗? - Matthias Cordes
1个回答

1
问题已解决。如果您同时运行以下宝石,则可以运行。
gem 'aws-sdk', '~> 2.3'
gem 'aws-sdk-v1'

就是这样。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接