Rails 回形针和 AWS s3 集成错误"uninitialized constant Paperclip::Storage::S3::Aws"



我浏览了不同的帖子,但没有得到任何帮助,我正试图将我的图像上传到亚马逊S3我仔细检查了我的asw凭据,它们都是正确的,以下是所需的文件,请帮助

Gemfile

gem 'aws-sdk', '< 2.0'
gem 'devise'
gem "paperclip", "~> 5.0.0.beta1"
gem 'bootstrap-sass', '~> 3.3.6'
gem 'bootstrap-material-design'
gem 'nested_scaffold'  

config/environments/development.rb

  # Raises error for missing translations
  # config.action_view.raise_on_missing_translations = true
  config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
  config.action_mailer.delivery_method = :smtp
  config.paperclip_defaults = {
  storage: :s3,
  s3_credentials: {
    bucket: "bucketName",
    access_key_id: "xoxoxo",
    secret_access_key: "secret_key"
  }
}

config/initializers/paperclip.rb

# config/initializers/paperclip.rb
Paperclip::Attachment.default_options[:url] = ':s3_domain_url'
Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename'
Paperclip::Attachment.default_options[:s3_host_name] = 's3-us-west-2.amazonaws.com'

上传时我仍然收到错误

CorporateTrainersController#create中的名称错误未初始化的常量Paperclip::Storage::S3::Aws

Extracted source (around line #29):          
  # POST /corporate_trainers.json
  def create
    @corporate_trainer = CorporateTrainer.new(corporate_trainer_params)
    respond_to do |format|
      if @corporate_trainer.save

只需删除您的gemfile版本。也许对你有帮助。

    gem "paperclip",'4.3.6' #last stable version
    gem 'aws-sdk', '< 2.0'

than bundle install

最新更新