妥当性検査が失敗したか、パラメータが欠けている場合はコントローラから戻したいですか?400 - bad request
です。だから私のコントローラであれば Rails 4.2 ActionController:BadRequestカスタムエラーメッセージ
if params["patch"].nil? then
raise ActionController::BadRequest.new("The Json body needs to be wrapped inside a \"Patch\" key")
end
を持っていると私は自分のアプリケーションのコントローラでこのエラーをキャッチ:
rescue_from ActionController::BadRequest, with: :bad_request
def bad_request(exception)
render status: 400, json: {:error => exception.message}.to_json
end
しかしActionController::BadRequest
を上げたときに、私はカスタムメッセージを追加することはできませんように思えます。無効なボディを渡すとき、応答は{"error":"ActionController::BadRequest"}
であり、私が提供したハッシュではないからです。
コンソールでも同じ動作が起こります。 raise ActiveRecord::RecordNotFound, "foo"
実際にはActiveRecord::RecordNotFound: foo
が発生します。
ActionController::BadRequest: ActionController::BadRequest
で
しかしraise ActionController::BadRequest, "baa"
結果がどのように私はBadRequest
例外にカスタムメッセージを追加することができますか?