[英]How to tell if rails is in production?
我使用script/server -e production
在生产模式下启动rails。 它确实没有错误。 但是,如何判断它是否处于生产模式? 我尝试了一条不存在的路由,我在开发过程中遇到了类似的错误页面。
我想如果在生产模型下,我得到了我/ public文件夹中的404错误页面。
这是否意味着它没有以生产模式启动?
谢谢你的帮助。
如果它的Rails 3.1 +, Rails.env.production?
在生产中将返回true
。
Rails.env.production? #=> true
Rails.env.staging? #=> false
Rails.env.development? #=> false
2种简单方法:
tail -f log/production.log
如果在您点击应用程序后存在填充该日志的条目,则表示您处于生产模式。
第二种方式:
在你的一个视图中(可能布局很好),只需添加
<%= "Environment: #{RAILS_ENV}" %>
这将向您展示您正在运行的环境。
编辑
如果请求被视为“本地”(即来自localhost或127.0.0.1),您将在任何环境中看到默认的异常页面而不是实际的错误页面,您可以通过将其添加到ApplicationController
来覆盖它
def local_request?
false
end
您可以在api的文档中找到此方法
对于现代Rails版本(3+), Rails.env
将环境作为String
返回:
Rails.env #=> "production"
对于将返回Boolean
每个环境,还有一些有用的访问器:
Rails.env.production? #=> true
Rails.env.staging? #=> false
Rails.env.development? #=> false
在命令行上键入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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.