使用回形针宝石上传图像,在开发中工作,但不能在生产中。
Aws::Errors::MissingRegionError (missing region;使用:区域选项或将区域名称导出到ENV['AWS_REGION']):
heroku config
AWS_ACCESS_KEY_ID: <Aws Access Key Id>
**AWS_REGION: us-west-2**
AWS_SECRET_ACCESS_KEY: <Aws Secret Access Key>
DATABASE_URL: postgres://be4A6l7VOXXs@ec2-54-83-36-203.compute-1.amazonaws.com:5432/d2g7h0v5
LANG: en_US.UTF-8
RACK_ENV: production
RAILS_ENV: production
S3_BUCKET_NAME: <Bucket Name>
配置。生产文件
config.paperclip_defaults = {
:storage => :s3,
:region => ENV['AWS_REGION'],
:s3_credentials => {
:bucket => ENV['S3_BUCKET_NAME'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}
gemfile
源"https://rubygems.org"ruby '2.0.0'
gem 'rails', '4.1.7'
gem 'sqlite3', group: :development
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'spring', group: :development
gem 'simple_form'
gem 'bootstrap-sass', '~> 3.3.5'
gem 'devise'
**gem 'paperclip', github: 'thoughtbot/paperclip'
**gem 'aws-sdk', '~> 2.1', '>= 2.1.31'****
gem 'rails_12factor', group: :production
gem 'pg', group: :production
更新配置文件
config.paperclip_defaults = {
:storage => :s3,
:s3_region => ENV['AWS_REGION'],
:s3_credentials => {
:bucket => ENV['S3_BUCKET_NAME'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}
使用s3_region
,所以你的配置看起来像这样:
config.paperclip_defaults = {
:storage => :s3,
:region => ENV['AWS_REGION'],
:s3_region => ENV['AWS_REGION'],
:s3_credentials => {
:bucket => ENV['S3_BUCKET_NAME'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}
我认为:region => ENV['AWS_REGION'],
是不必要的。