【问题标题】:Ruby on Rails: How to set which development environment an app runs in?Ruby on Rails:如何设置应用程序在哪个开发环境中运行?
【发布时间】:2010-12-15 14:17:21
【问题描述】:
我对 Ruby on Rails 比较陌生,有时我会发现这种约定优于配置的东西有点令人困惑,因为很多东西似乎对开发人员隐藏了,就像在这种情况下一样。
我使用的是 rails 2.3.8,当我在系统上通过 NetBeans 6.9/Mongrel 在本地运行我的应用程序时,它使用开发环境参数运行。当我将它部署到 Fedora 机器并在 Apache HTTPD 中运行它时它使用生产环境参数自动运行。
我的应用如何知道要使用哪个环境?我没有更改我的应用程序中的任何内容来设置环境.. 本地和我的 Fedora 机器上的两个版本都是相同的。我在代码中找不到设置环境的任何地方.. 那么这是如何工作的呢?
谢谢。
【问题讨论】:
标签:
ruby-on-rails
ruby
apache
mongrel
fedora
【解决方案1】:
在 httpd.conf 文件中,在 VirtualHost 中写入以下内容:-
## 在此处指定 Rails 环境,
默认值为“生产”
RailsEnv 开发
谢谢...
【解决方案2】:
指定 rails 模式的主要方法是 RAILS_ENV 环境变量(我假设 development 是默认值,当没有指定时)。您可以在 bash 中检查它的值,echo $RAILS_ENV。
你也可以在你的配置文件中修改ENV['RAILS_ENV']来改变模式:
ENV['RAILS_ENV'] = 'production'
编辑
我从未在 apache 中使用过 rails,但我认为乘客 mod 也可以在某处指定此变量,检查 apache 配置可能会有所帮助。