外行人的术语中的Ruby on Rails环境变量

时间:2014-06-24 17:15:12

标签: ruby-on-rails ruby variables environment

有人可以向我解释一下Ruby on Rails环境变量到底是什么,它们做了什么,以及如何使用具体示例配置/访问它们?我在发展良好的Rails应用程序中随处可见它们,但我不知道它们已经找到了。

有些问题:

  • 他们在哪里以及如何设置?
  • 何时需要使用环境 变量在他们的应用?
  • 他们如何初始化和访问?

这是一个我发现我不明白的例子:

位于 Gemfile

if ENV['RAILS_PANEL_ENABLED'] gem 'meta_request' end

或者,如果有人有任何资源指向我,这很好地解释了这些要点,那也是值得赞赏的。我还没有找到明确而广泛的解释。

强调为什么超过 how / what / where

谢谢。

2 个答案:

答案 0 :(得分:1)

使用环境变量是一个很好的实践,因为您不需要更改代码来更改行为。对于处理凭证和配置等内容非常有用(如果凭据有额外的好处,则不要在源代码管理存储库中放置合理的信息)。

dotenv-rails这样的宝石可以更轻松地处理env变量,你应该看一下。

答案 1 :(得分:0)

他们不是 Rails 环境变量;他们只是plain old environment variables

当Ruby解释器启动时,它会将大多数可用的环境变量加载到the ENV object中。为方便起见,过滤掉了许多不感兴趣的变量(比如你的bash shell字符串)。然后,您将离开一个类似哈希的对象,可以随意访问有用的环境变量。

这有利于将配置与代码分离,并且还提供了一种简单的方法来将敏感数据(如身份验证令牌)保留在源代码管理之外。