#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 он смог СПАСТИ так, как я пытался, но после этого он должен быть реализован в промежуточном программном обеспечении, чтобы это произошло…