Не удается спасти ActionDispatch :: Http:: Параметры :: Ошибка синтаксического анализа на Rails 6

#ruby-on-rails #ruby #ruby-on-rails-6

#ruby-on-rails #ruby #ruby-on-rails-6

Вопрос:

Я использую ruby2.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. восстановление должно было вернуть 500 для запроса curl, если восстановление прошло успешно, но оно возвращает 400.

Если кто-нибудь знает, как это исправить, пожалуйста, посоветуйте мне. Спасибо.

Ответ №1:

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

Я видел этот пост, интересно, означает ли это, что в rails 5.2 он смог СПАСТИ так, как я пытался, но после этого он должен быть реализован в промежуточном программном обеспечении, чтобы это произошло…