如何判断导轨是否在生产?

我使用script/server -e production在生产模式下启动rails。 它做了,我没有错误。 但是,如何判断它是否处于生产模式? 我尝试了一条不存在的路线,而且我得到了一个类似的错误页面,我在开发过程中。

我想如果在生产模式下,我得到了我的/公共文件夹中的404错误页面。

这是否意味着它没有在生产模式下启动?

谢谢你的帮助。

2个简单的方法:

 tail -f log/production.log 

如果在您点击应用程序后有条目填充该日志,则表明您处于生产模式。

第二种方式:

在你的意见之一(可能布局是好的),只需添加

 <%= "Environment: #{RAILS_ENV}" %> 

这会告诉你你正在运行的环境是什么。

编辑

如果请求被认为是“本地”(即来自localhost或127.0.0.1),你会在任何环境中看到默认的exception页面,而不是实际的错误页面,你可以通过将其添加到你的ApplicationController

 def local_request? false end 

你可以在api的文档中find这个方法

如果它的Rails 3.1 Rails.env.production? 会给你真实的

 >>> Rails.env.production? true >>> 

对于现代Rails版本> = 3, Rails.env以stringRails.env返回环境。 然后它提供访问器像Rails.env.the_env_name? 来testing它是否属实。

在你的命令行上键入rails console ,然后Rails.env

我发现只需重新启动rails服务器并在命令行上读取第二行就简单多了:

运行rails s -e production输出:

 => Booting Puma => Rails 4.2.4 application starting in `production` on http://localhost:3000 

如果以Webrick为例,但有些人不明白如何改变服务器只会取代名称。 更新清晰。

命令行的替代

$ echo $ RAILS_ENV