我有一个 sinatra 应用程序,其中有一个 yml 文件来设置环境变量,我使用这种方法调用它们
module MyConfig
def config
environment = ENV["RACK_ENV"] || "development"
YAML.load_file("./config/config.yml")[environment]
end
end
所以当我想使用一个变量时,我会这样做
aws_access_key_id = config['aws_access_key']
例如,我有一个 .gitignore 文件在推送到 github 时会忽略 config.yml。所以当我推送到 heroku 时,这些环境变量将无法访问?
所以这让我可以使用 heroku 方式来设置它们
heroku config:add aws_access_key= myapikey
但是heroku像这样访问这些
aws_access_key_id = ENV['aws_access_key']
我如何设置我的开发环境以使用方法配置和 heroku 使用 ENV,我看错了吗?还是我的配置方法为我做这个?
任何帮助表示赞赏
瑞克文件
require 'active_support/core_ext'
require './config/config.rb'
require 'bundler/setup'
Bundler.require(:default)
include MyConfig
AssetSync.configure do |con|
con.fog_provider = 'AWS'
con.fog_region = 'eu-west-1'
con.fog_directory = config['fog_directory']
con.aws_access_key_id = config['aws_access_key']
con.aws_secret_access_key = config['aws_secret_key']
con.prefix = "assets"
con.public_path = Pathname("./public")
end
namespace :assets do
desc "Precompile assets"
task :precompile do
AssetSync.sync
end
end