ruby-on-rails – 设置用于Rails的环境变量(ENV)

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 设置用于Rails的环境变量(ENV)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Rails服务器上测试MongoID,并且对如何/在何处设置环境变量感到困惑.

config / mongoid.yml默认模板提供:

defaults: &defaults
  host: localhost

...

# set these environment variables on your prod server
production:
  host: <%= ENV['MONGOID_HOST'] %>
  port: <%= ENV['MONGOID_PORT'] %>
  username: <%= ENV['MONGOID_USERNAME'] %>
  password: <%= ENV['MONGOID_PASSWORD'] %>
  database: <%= ENV['MONGOID_DATABASE'] %>

我的问题是这些设置在Rails的某个地方?还是系统级?如果是这样/如何设置,以便没有用户帐户需要登录才能使其有效?

解决方法

ENV哈希值将从rails进程启动时的系统环境中获得.

这些可以在启动服务器或程序之前在命令行中进行设置.例如在bash中:

export MONGOID_USERNAME='username'

这些仅适用于您的shell的生命周期,除非您将其添加到您的配置文件中,但是您的Web服务器很可能不会使用该配置文件,因此它仅对本地开发有用.

也可以设置它们,例如,在Apache中使用SetEnv.例如:

<Location /app >
    SetEnv MONGOID_HOST 'localhost'
    SetEnv MONGOID_PORT '8883'
    SetEnv MONGOID_USERNAME 'username'
</Location>

这可以在任何地方SetEnv在你的apache配置是合法的,这是你的应用程序所处的相同的上下文.

关于你对最佳做法的评论,有些人在源代码控件中放置了一个例子的yml配置文件,并从源代码控制中忽略了config / *.yml文件.当克隆资料库时,将示例复制和更正为正确的值是设置的一部分,例如运行rake tmp:create以创建tmp文件夹结构.

猜你在找的Ruby相关文章