Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 推送到Heroku时AWS凭据丢失_Ruby On Rails_Heroku_Amazon Web Services_Amazon S3 - Fatal编程技术网

Ruby on rails 推送到Heroku时AWS凭据丢失

Ruby on rails 推送到Heroku时AWS凭据丢失,ruby-on-rails,heroku,amazon-web-services,amazon-s3,Ruby On Rails,Heroku,Amazon Web Services,Amazon S3,回答:我在为Heroku设置环境变量时拼写错误了AWS\u SECRET\u ACCESS\u KEY。我把第二个S删掉了 我正在构建一个Rails 4应用程序,并使用回形针和AWS上传图像。每次尝试上载图像时,Heroku日志中都会出现AWS::Errors::MissingCredentialsError(缺少凭据) 在我的gem文件中 gem 'paperclip' gem 'aws-sdk' has_attached_file :picture, :storage =>

回答:我在为Heroku设置环境变量时拼写错误了
AWS\u SECRET\u ACCESS\u KEY
。我把第二个S删掉了


我正在构建一个Rails 4应用程序,并使用回形针和AWS上传图像。每次尝试上载图像时,Heroku日志中都会出现
AWS::Errors::MissingCredentialsError(缺少凭据)

在我的gem文件中

gem 'paperclip'
gem 'aws-sdk'
has_attached_file :picture, 
    :storage => :s3,
    :s3_credentials => {
            :bucket => 'MyBucketName',
        :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
        :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
        },
    styles: {
        thumb: '100x100>',
        square: '200x200#',
        medium: '300x300>'
      }
在我的production.rb文件中

config.paperclip_defaults = {
    :storage => :s3,
    :s3_credentials => {
      :bucket => ENV['S3_BUCKET_NAME'],
      :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
      :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
    }
  }
我有一个名为aws-sdk.rb的初始值设定项,其中只有以下内容:

AWS.config({
    :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
    :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
  })
在我的相关模型文件中

gem 'paperclip'
gem 'aws-sdk'
has_attached_file :picture, 
    :storage => :s3,
    :s3_credentials => {
            :bucket => 'MyBucketName',
        :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
        :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
        },
    styles: {
        thumb: '100x100>',
        square: '200x200#',
        medium: '300x300>'
      }
我不认为我需要用has_attached_file方法显式地包含s3凭据?我还是尝试了。仍然不起作用

当我运行heroku config时,它会正确显示我的访问密钥、密钥id和存储桶名称

我不知道出了什么问题