Ruby on Rails - 获取文件并将 ENV 变量保存为全局变量

Ruby on Rails - Source a file and save ENV variable as global

我有一个 API 密钥,我已将其保存到 /home/user/api/keys,我想将其作为全局变量保存在我的 Rails 应用程序中。我认为这会起作用,这是我的 config/initializers/my_constants.rb:

`source "/home/user/api/keys"`
API_PASS = ENV["API_PASSWORD"]

这是 /home/user/api/keys(显然没有实际值):

#!/bin/bash
export API_PASSWORD="--------"

source 命令似乎没有做任何事情。 API_PASS 刚刚设置为零。我该怎么做?

上面的命令不起作用,因为反引号命令自己开始 shell 并结束它,因此这些变量永远不会包含在脚本的其余部分中。

我认为您必须自己解析文件并将条目添加到 ENV。我会查看 dotenv gem 并查看是否可以将其指向您自己的环境文件。他们为您完成了所有艰苦的工作。

https://github.com/bkeepers/dotenv