有人可以向我解释一下Ruby on Rails环境变量到底是什么,它们做了什么,以及如何使用具体示例配置/访问它们?我在发展良好的Rails应用程序中随处可见它们,但我不知道它们已经找到了。
有些问题:
这是一个我发现我不明白的例子:
位于 Gemfile :
if ENV['RAILS_PANEL_ENABLED']
gem 'meta_request'
end
或者,如果有人有任何资源指向我,这很好地解释了这些要点,那也是值得赞赏的。我还没有找到明确而广泛的解释。
强调为什么超过 how / what / where 。
谢谢。
答案 0 :(得分:1)
使用环境变量是一个很好的实践,因为您不需要更改代码来更改行为。对于处理凭证和配置等内容非常有用(如果凭据有额外的好处,则不要在源代码管理存储库中放置合理的信息)。
像dotenv-rails这样的宝石可以更轻松地处理env变量,你应该看一下。
答案 1 :(得分:0)
他们不是 Rails 环境变量;他们只是plain old environment variables。
当Ruby解释器启动时,它会将大多数可用的环境变量加载到the ENV object中。为方便起见,过滤掉了许多不感兴趣的变量(比如你的bash shell字符串)。然后,您将离开一个类似哈希的对象,可以随意访问有用的环境变量。
这有利于将配置与代码分离,并且还提供了一种简单的方法来将敏感数据(如身份验证令牌)保留在源代码管理之外。