如何在 Rails 中设置 AWS 凭证进行开发?

hel*_*llo 5 ruby ruby-on-rails amazon-s3 amazon-web-services ruby-on-rails-4

我想弄清楚在开发中设置凭据的最佳方法是什么?由于 heroku 的配置变量,我能够在生产中设置凭据……但如果您只是在本地测试应用程序,则需要帮助。

我有这个 development.rb

config.paperclip_defaults = {
  :storage => :s3,
  :s3_credentials => {
    :bucket => ENV['BUCKET_NAME'],
    :access_key_id => ENV['ACCESS_KEY_ID'],
    :secret_access_key => ENV['SECRET_ACCESS_KEY']
  }
}  
Run Code Online (Sandbox Code Playgroud)

但是,我不确定如何引用这些 ENV 变量?

aws.yml在我的/config文件夹中创建了这个文件

development:
  BUCKET_NAME: "somename"
  ACCESS_KEY_ID: "4205823951412980"
  SECRET_ACCESS_KEY: "123141ABNCEFEHUDSL2309489850"
Run Code Online (Sandbox Code Playgroud)

我想如果我匹配 ENV 名称,它会起作用吗?我想事实并非如此......

我确保包含aws.yml到我的.ignore文件中

/config/aws.yml
Run Code Online (Sandbox Code Playgroud)

ada*_*sko 5

您正在寻找dotenv gem。安装 gem gem 'dotenv-rails', :groups => [:development, :test],然后只需创建和 `.env' 文件并将变量放入其中。

S3_BUCKET=YOURS3BUCKET
SECRET_KEY=YOURSECRETKEYGOESHERE
Run Code Online (Sandbox Code Playgroud)