Ruby on rails Rails 3.1,回形针,s3-未初始化常量AWS::s3::Base

Ruby on rails Rails 3.1,回形针,s3-未初始化常量AWS::s3::Base,ruby-on-rails,paperclip,Ruby On Rails,Paperclip,我在尝试使用回形针和s3存储上传图像时遇到以下错误。该应用程序在本地上传时运行良好,但当我对s3进行了必要的更改后,我得到了以下结果: ImagesController#create中的名称错误 未初始化常量AWS::S3::Base Gemfile source 'http://rubygems.org' gem 'rails', '3.1.3' gem 'sqlite3' group :assets do gem 'sass-rails', '~> 3.1.5' ge

我在尝试使用回形针和s3存储上传图像时遇到以下错误。该应用程序在本地上传时运行良好,但当我对s3进行了必要的更改后,我得到了以下结果:

ImagesController#create中的名称错误

未初始化常量AWS::S3::Base

Gemfile

source 'http://rubygems.org'

gem 'rails', '3.1.3'

gem 'sqlite3'

group :assets do
  gem 'sass-rails',   '~> 3.1.5'
  gem 'coffee-rails', '~> 3.1.1'
  gem 'uglifier', '>= 1.0.3'
  gem 'dynamic_form'
end

gem 'aws-sdk'
gem 'paperclip'
models/Image.rb

class Image < ActiveRecord::Base
    has_attached_file :file, 
                      :styles => {
                          :featured => "970x560>", 
                          :thumb => "192x112>" 
                      },
                      :storage => :s3,
                      :s3_credentials => "#{Rails.root}/config/amazon_s3.yml"
end
捆绑宝石: aws sdk(1.2.5) 回形针(2.4.5)
rails(3.1.3)

回形针2.4.5仍然使用aws-s3gem。(Github上的自述文件指的是aws sdk,但仅针对未发布的主分支)

将文件行更改为:

gem "aws-s3", :require => "aws/s3"
或者使用主分支而不是稳定版本(当然有一些风险):


更新:2012年1月13日发布的回形针2.5.0现在使用的是
aws sdk

任何决定向windows用户销毁回形针的人都做得很好

捆绑安装

Fetching git://github.com/thoughtbot/paperclip.git
remote: Counting objects: 5602, done.
remote: Compressing objects: 100% (2419/2419), done.
remote: Total 5602 (delta 3868), reused 4704 (delta 3065)
Receiving objects: 100% (5602/5602), 855.88 KiB | 314 KiB/s, done.
Resolving deltas: 100% (3868/3868), done.
error: unable to create file test/fixtures/question?mark.png (Invalid argument)
所以,看看gem‘回形针’,:git=>“git://github.com/thoughtbot/paperclip.git“直接解决不了问题。
gem“aws-s3”,:require=>“aws/s3”暂时解决了这个问题,但这可能意味着目前还没有对2.5.0的更新

您可能需要
在某处包含aws::s3
。这是否意味着我们需要从gem文件中删除行
gem“aws-s3”;:require=>“aws/s3”
,您不再需要aws-s3 gem(它现在使用aws sdk)。不过,我不知道将aws-s3 gem留在gem文件中是否会导致任何冲突。@Markow感谢您的快速回复,我会尝试让您知道。在将ruby从1.8.7升级到1.9.3时,我遇到了一个问题。请看一看@@Markow,如您所述,它在没有aws-s3的情况下工作,但我面临的问题是因为回形针模型的contentType配置。请检查我在前面提到的链接。对决议的评论。
gem 'paperclip', :git => "git://github.com/thoughtbot/paperclip.git"
gem "aws-sdk"
Fetching git://github.com/thoughtbot/paperclip.git
remote: Counting objects: 5602, done.
remote: Compressing objects: 100% (2419/2419), done.
remote: Total 5602 (delta 3868), reused 4704 (delta 3065)
Receiving objects: 100% (5602/5602), 855.88 KiB | 314 KiB/s, done.
Resolving deltas: 100% (3868/3868), done.
error: unable to create file test/fixtures/question?mark.png (Invalid argument)