在Rails中在运行时设置环境变量

时间:2014-09-08 10:53:19

标签: ruby-on-rails ruby ruby-on-rails-4

我有运行rails应用程序。我无法重启服务器。

我有一个需要更改的环境变量。我试图通过rails console

来做到这一点
ENV['SCORE'] = "123"

它更新当前rails c会话的变量:

ENV['SCORE']
=> "123"

但对应用程序正在使用的变量没有影响。

有没有办法在运行时永久更改环境变量?

2 个答案:

答案 0 :(得分:4)

如果要在进程之间共享数据,通常使用某种存储。在这种情况下,像Redis(http://redis.io/)这样的内存中键/值存储似乎是您用例的最佳选择。

安装并运行Redis,然后将gem放入Gemfile中。

gem "redis"

在您的代码中连接数据库

require "redis"

client = Redis.new
client.set("score", 123)

client.get("score")
# => "123"

client.incr("score")
# => "124"

答案 1 :(得分:-1)

如果使用该代码创建初始值设定项

ENV['SCORE'] = "123"

该值将持续存在。