我尝试将文件上传到服务器时,当前遇到uninitialized constant Paperclip::Storage::S3::AWS
错误。我理解这通常是由于在添加了对aws-sdk-v2的支持之前运行旧版的回形针引起的。奇怪的是,我正在运行最新的回形针版本(4.3.1),according to its github page包括aws-sdk-v2支持。
老实说,我不确定我还能说些什么呢。我检查了错误日志,以上是唯一的投诉。我是否需要做任何特殊的事情来使用回形针运行v2?感谢任何能够对此事发表任何看法的人。
答案 0 :(得分:7)
问题写在这里:
http://ruby.awsblog.com/post/TxFKSK2QJE6RPZ/Upcoming-Stable-Release-of-AWS-SDK-for-Ruby-Version-2
尝试将您的Gemfile更改为:
gem 'aws-sdk', '< 2.0'
答案 1 :(得分:3)
在github的一些人的帮助下计算出来。 (See the thread here.)
基本上,回形针4.3.1似乎还不完全支持v2。在它被释放一周之后,一个提交被推送到主服务器,它已经过了这个错误。它似乎并不完美,但这就是我如何使它发挥作用。
您可以使用以下行将此特定修订的paperclip指定给bundler:
gem 'paperclip', :git=> 'https://github.com/thoughtbot/paperclip', :ref => '523bd46c768226893f23889079a7aa9c73b57d68'
可以找到有关此类事情的更多信息here.
您需要在回形针默认值中指定您的REGION。这可以通过将:s3_region=> 'us-west-2'
(或您所在的地区)放入paperclip_defaults
来完成。仅指定端点或主机是不够的。你可以查看你的here.
如果上述操作不正确,错误信息也会有些混乱:
缺少地区;使用:区域选项或导出区域名称到ENV ['AWS_REGION']
:region
选项有点误导,因为需要写:s3_region