Rails 5.2开发环境不显示错误详情,仅提示查看日志问题求助
我之前升级Rails版本时也踩过类似的坑,给你几个实用的排查方向试试:
检查public目录下的错误页面:如果项目的
public文件夹里存在500.html,虽然Rails开发环境默认应该忽略这个文件,但特殊情况下(比如中间件配置异常)可能会优先调用它。可以暂时重命名这个文件,再测试错误页面是否恢复显示详细信息。确认配置是否真正生效:打开Rails控制台(执行
rails c),输入Rails.application.config.consider_all_requests_local,查看返回值是否为true。如果不是,说明你的development.rb配置可能没被正确加载,检查文件里有没有语法错误,或者是否被其他配置文件覆盖了。排查自定义中间件或gem的影响:有些错误监控类的gem(比如Sentry、Airbrake)如果在开发环境也启用了,可能会拦截错误并返回通用页面。检查你的Gemfile,看看这类gem是不是没有放在
group :production分组里,或者它们的配置有没有强制覆盖默认的错误处理逻辑。另外,自己编写的自定义中间件也可能有类似问题,排查是否存在拦截500错误的代码。清除临时文件缓存:运行
rails tmp:clear清除临时缓存文件,有时候旧的缓存配置会导致新的设置无法生效。检查服务器启动日志:启动服务器时,仔细查看日志开头的环境信息,确认是否显示
Rails 5.2.x application starting in development,确保没有误加载其他环境的配置。
如果以上方法都没解决问题,你可以尝试新建一个空白的Rails 5.2项目,对比默认的development.rb配置和中间件列表,看看你的项目里有没有额外的差异,逐步缩小排查范围。
内容的提问来源于stack exchange,提问作者rails_newbie

