Ruby on rails rails如何检测它所处的环境?

Ruby on rails rails如何检测它所处的环境?,ruby-on-rails,ruby,frameworks,development-environment,production-environment,Ruby On Rails,Ruby,Frameworks,Development Environment,Production Environment,出于好奇,Rails在服务器上运行时如何检测它所处的环境,即生产环境或开发环境 当我在mac/linux机器上本地运行rails应用程序时,它知道它在开发环境中,但当它部署到远程linux机器时,它知道它在生产环境中 这是怎么回事?在应用程序运行方式、使用哪些资源等方面,主要的隐含差异是什么 另外,生产/开发的二分法是固定的并且是框架的一部分,还是有可能建立一个类似于“暂存”环境的东西,其所有意图和目的都与生产相同,但用于测试?让我引用《rails 4路》一书中的内容 可以通过环境变量指定当前环

出于好奇,Rails在服务器上运行时如何检测它所处的环境,即生产环境或开发环境

当我在mac/linux机器上本地运行rails应用程序时,它知道它在开发环境中,但当它部署到远程linux机器时,它知道它在生产环境中

这是怎么回事?在应用程序运行方式、使用哪些资源等方面,主要的隐含差异是什么


另外,生产/开发的二分法是固定的并且是框架的一部分,还是有可能建立一个类似于“暂存”环境的东西,其所有意图和目的都与生产相同,但用于测试?

让我引用《rails 4路》一书中的内容

可以通过环境变量指定当前环境
RAILS\u ENV
,它命名了所需的操作模式并对应 指向
config/environments
文件夹中的环境定义文件。 您还可以将环境变量
RACK_ENV
设置为最后一个 您可以依赖默认的开发

我相信您可以通过在
config/environments
文件夹中轻松创建一个新文件来添加环境,并在运行服务器时通过添加
RAILS\u ENV
轻松启动它

rails s rails\u ENV=staging
或您想要的任何其他环境