2
我正在使用Spree 3.1。要使用Heroku,我需要AWS S3 tp存儲圖片。 與KeyError在本地和Heroku上花費了很多時間。`fetch':找不到密鑰:「S3_BUCKET_NAME」(KeyError)
我正在使用Spree 3.1。要使用Heroku,我需要AWS S3 tp存儲圖片。 與KeyError在本地和Heroku上花費了很多時間。`fetch':找不到密鑰:「S3_BUCKET_NAME」(KeyError)
,喜歡在這裏分享:
在AWS S3文件創建ID和access_key_id和secret_access_key IAM用戶。爲了使它工作,我需要創建配置文件並設置管理員權限。
只有粘貼此在需要的環境如:配置/環境/ production.rb和development.rb
config.paperclip_defaults = {
storage: :s3,
s3_credentials: {
bucket: ENV.fetch('S3_BUCKET_NAME'),
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
s3_region: ENV.fetch('AWS_REGION'),
}
}
不要更換價值。相反 對於Heroku的:
heroku config:set S3_BUCKET_NAME=your-bucket-name AWS_ACCESS_KEY_ID=your-access-key-id AWS_SECRET_ACCESS_KEY=your-secret-access-key AWS_REGION=your-region
,併爲當地: 我們.ENV
$ cat .env
S3_BUCKET_NAME=your-bucket-name-development
AWS_ACCESS_KEY_ID=your-access-key-id
AWS_SECRET_ACCESS_KEY=your-secret-access-key
增加值不會 「引用」 這些價值觀
請這部分合併到您的題。 – mootmoot
這個.env文件在哪裏? –
.env文件位於項目的根目錄中(其中Gemfile所在位置) –