我对以下问题感到困惑:
我显然希望根据环境配置呈现堆栈跟踪或public / 500.html。在Mac或Windows上进行本地开发时,应用程序正如我所期望的那样执行完全。此应用程序部署到的Tomcat环境可能没有错(我们在类似配置中运行数百个rails应用程序)。
public / * .html文件正在打包在.war文件中,以便进行部署。
除了不渲染错误之外,应用程序运行正常。
我在哪里可以开始调试这个?
答案 0 :(得分:0)
修复程序是降级到jruby-rack版本1.0.10,类似于此问题which I also answered。看起来Tomcat上最新版本的jruby-rack存在多个问题。
答案 1 :(得分:0)
此标志在JRuby 1.7.26,Rails 3.0.20,Tomcat 8 / Java 8上也不适用于我:
config.consider_all_requests_local = true
我最终修补了Rails库。似乎有一些与“request.local”有趣的东西?'在Tomcat中运行时调用第67行(actionpack / lib / action_dispatch / middleware / show_exceptions.rb)。
我改变了这一行:
if @consider_all_requests_local || request.local?
到
if @consider_all_requests_local
我这样做的原因是我只是在开发时手动设置了Conside_all_request_local标志,因此环回地址的自动回退是没有用的。