【问题标题】:Can not rescue ActionDispatch::Http::Parameters::ParseError on Rails 6无法在 Rails 6 上拯救 ActionDispatch::Http::Parameters::ParseError
【发布时间】:2020-11-08 20:41:25
【问题描述】:

我正在使用 ruby​​2.7.2 和 rails6.0.3.4。我正在测试对错误 json 帖子的处理,并在我的 ApplicationController 中实现它以拯救 ActionDispatch::Http::Parameters::ParseError 并返回 500。(这应该返回 400,但我们将其设置为500 用于测试目的。

但是,当引发 ActionDispatch::Http::Parameters::ParseError 时,rescue_from 中不会执行任何处理。

class ApplicationController < ActionController::Base
  rescue_from ActionDispatch::Http::Parameters::ParseError do |_e|
    render status: 500, json: { message: 'There was a problem in the your JSON' }
  end
end

我附上了一个正确的 json 帖子和一个错误的 json 帖子的 video。如果救援成功,救援应该为 curl 请求返回 500,但它返回 400。

如果有人知道如何解决这个问题,请告诉我。 谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-6


    【解决方案1】:

    https://github.com/rails/rails/issues/34244

    我看到了这篇文章,我想知道这是否意味着在 rails 5.2 中它能够以我尝试的方式进行 RESCUE,但之后必须在中间件中实现它才能实现...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-09
      • 2013-03-05
      • 2018-04-27
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      相关资源
      最近更新 更多