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

时间:2015-05-22 22:34:08

标签: ruby-on-rails constants global env

我有一个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设置为nil。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

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

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

https://github.com/bkeepers/dotenv