【发布时间】:2017-12-28 22:05:23
【问题描述】:
在 Rails 中我在哪里放置环境变量,我可以在运行前创建一个文件来检查环境吗?
在 MERN 堆栈应用程序(所有 javascript)中,我在 config 文件夹中创建了 3 个文件:
keys.js
dev.js
prod.js
keys.js 的代码如下:
if (process.env.NODE_ENV === 'production') {
module.exports = require('./prod');
} else {
module.exports = require('./dev');
}
dev.js 包含 google、mongo、stripe 等的所有变量。
'prod.js' 有以下代码:
module.exports = {
googleClientID: process.env.GOOGLE_CLIENT_ID,
googleClientSecret: process.env.GOOGLE_CLIENT_SECRET,
mongoURI: process.env.MONGO_URI,
cookieKey: process.env.COOKIE_KEY,
stripePublishableKey: process.env.STRIPE_PUBLISHABLE_KEY,
stripeSecretKey: process.env.STRIPE_SECRET_KEY,
sendGridKey: process.env.SENDGRID_KEY,
redirectDomain: process.env.REDIRECT_DOMAIN
};
此config 文件夹位于应用程序结构的根目录中。
我这样做是为了部署到 Heroku,它运行良好。我的开发环境允许我像在生产中一样测试 API。它在我的 repo 中被忽略了,所以 dev.js 在 Github 上不可用。
我的问题:我应该将这样的文件放在 Rails 应用程序中的什么位置?我可以创建这样一个文件来存储我的环境变量吗?
如果可能的话,我想使用相同的逻辑,并且我可以计算出这样做的代码,但我对将文件放在哪里不感兴趣。
【问题讨论】:
标签: ruby-on-rails heroku environment-variables