【问题标题】:Rails Paperclip and aws s3 integration error "uninitialized constant Paperclip::Storage::S3::Aws"Rails Paperclip 和 aws s3 集成错误“未初始化的常量 Paperclip::Storage::S3::Aws”
【发布时间】:2016-09-08 02:42:28
【问题描述】:

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

宝石文件

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

【问题讨论】:

  • 你跑bundle install了吗?
  • @Pavan 是的,当然是 bundle installbundle update

标签: ruby-on-rails amazon-web-services amazon-s3 aws-sdk


【解决方案1】:

只需删除您的 gemfile 版本。可能对你有帮助。

    gem "paperclip",'4.3.6' #last stable version

    gem 'aws-sdk', '< 2.0'


than bundle install

【讨论】:

  • 感谢您的回答,它给了我这个想法,问题在于回形针 5.0 测试版,我使用了最后一个稳定版本的回形针和gem 'aws-sdk', '&lt; 2.0',一切正常
猜你喜欢
  • 2018-03-08
  • 1970-01-01
  • 2012-11-25
  • 2010-11-23
  • 2012-05-02
  • 1970-01-01
  • 2013-02-02
  • 2013-12-23
  • 2012-04-25
相关资源
最近更新 更多