ruby-on-rails - 如何在 Rails 中处理 "NetworkError: 400 Bad Request"?

标签 ruby-on-rails ruby http routes bad-request

当用户在 url 本身中输入搜索字符串作为“%”时,我遇到了错误。输入我的网址后看起来像

 http://localhost:3000/search/%

现在显示“NetworkError: 400 Bad Request - http://localhost:3000/search/%”。我想重定向到其他页面并在发生错误时显示错误的请求图像。请给我一些想法来做到这一点。

我附上了错误图片。 enter image description here

更新

我试过下面的。

配置/应用程序.rb:

 config.exceptions_app = self.routes

配置/路由.rb:

match "/400", :to => "errors#bad_request"

它不会进入 bad_request 方法。

在日志中我收到错误信息

 Invalid request: Invalid HTTP format, parsing fails.

最佳答案

你检查过这个gem 'utf8-cleaner'吗?这会从环境中删除无效的 UTF-8 字符,这样您的应用就不会阻塞它们。

如果你想要自定义错误页面:然后查看 this answer

关于ruby-on-rails - 如何在 Rails 中处理 "NetworkError: 400 Bad Request"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29070282/

相关文章:

css - Rails 4.1 css.sass 文件中未消化的 Assets 链接

ruby-on-rails - 帮助 collection_select

ruby-on-rails - 如何在 Rspec 助手中模拟 remote_ip?

http - Google 搜索显示不同的网站网址

php - htmlspecialchars 是否足以转义 HTTP 响应中的 XML 元素内容?

c++ - 在 HTTP 中获取空响应在 QT QNetworkAccessManager 中获取请求

ruby-on-rails - Rails - 事件管理 - 错误的复数路径 - 如何修复它?

ruby-on-rails - SearchKick(Elastic Search) 重新索引特定记录

ruby-on-rails - link_to 删除帖子

ruby - 正则表达式去除除序数以外的所有数字