升级至Rails 7.1.1后异常页面未显示web-console问题求助
Rails 7.1.1 异常页面无法加载web-console问题
问题描述
我最近将Rails 7.0.8应用升级至Rails 7.1.1,现在异常页面无法显示web-console,但在控制器中写入console时,web-console可以正常弹出,问题仅出现在异常页面。
异常页面示例:
环境信息
- Rails 7.1.1
- Ruby 3.2.2
- web-console 4.2.1
排查与解决步骤
检查web-console配置
打开config/environments/development.rb,添加或确认以下配置:config.web_console.whiny_requests = true config.web_console.exceptions_app = self.routesRails 7.1对异常处理路由做了调整,必须显式指定
exceptions_app为自身路由,才能让web-console挂载到异常页面。升级web-console版本
当前使用的web-console 4.2.1对Rails 7.1兼容性可能不足,修改Gemfile:gem 'web-console', '~> 4.2.2'执行
bundle update web-console完成升级。验证自定义异常路由
在config/routes.rb中添加测试路由:get '/500', to: 'errors#internal_server_error'创建
app/controllers/errors_controller.rb:class ErrorsController < ApplicationController def internal_server_error raise '测试异常' end end访问
/500,如果能正常加载web-console,说明默认异常页的路由配置存在问题。手动注入web-console到异常模板
生成自定义异常页面模板:rails generate error_pages在生成的模板文件中添加web-console渲染代码:
<%= render web_console %>
内容的提问来源于stack exchange,提问作者jkvithanage
相关产品推荐
相关产品推荐

