带有S3 on Rails 3的回形针/未初始化的常量AWS :: S3 :: Connection
我正在尝试使用paperclip将文件上传到s3,并在创建新对象并引用变量时出现此错误:
- 安装了aws-s3 gem
- s3.yml文件具有正确的凭据
即:
a = Attachment.new a.file NameError: uninitialized constant AWS::S3::Connection from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:206:in `const_missing' from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3.rb:32 from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3.rb:31:in `class_eval' from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3.rb:31 from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip/storage.rb:131:in `extended' from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip/attachment.rb:269:in `extend' from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip/attachment.rb:269:in `initialize_storage' from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip/attachment.rb:51:in `initialize' from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip.rb:372:in `new' from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip.rb:372:in `attachment_for' from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip.rb:270:in `file' from (irb):6
这是Attachment模型的样子:
class Attachment :s3, :s3_credentials => "#{RAILS_ROOT}/config/s3.yml", :path => "/uploads/:attachment/:id/:style/:basename.:extension", :bucket => 'bucketname', :s3_permissions => :public_read end
原来是与我在gemfile中留下的不同s3 gem的冲突
迈克,你是否成功地使用了Rails 3的aws-s3? 我假设是的,但你可以validation我需要自己检查一下。
- 使用activestorage直接上传时如何在上传到S3时指定前缀?
- 使用Ruby aws-sdk跟踪上传文件到S3的进度
- 为什么Ruby open-uri打开在我的unit testing中返回一个StringIO,但在我的控制器中是一个FileIO?
- Rails:允许下载存储在S3上的文件,而不向用户显示实际的S3 URL
- 使用Amazon S3配置Carrierwave,在Heroku上托管
- Firefox不会从CloudFront渲染字体
- rails assets:在slug期间为s3错误预编译:当设置env时,雾提供程序和目录不能为空
- 在s3上设置mp4文件的内容类型
- 在rails中将对象上传到Amazon s3时添加Tag