Rails 4.2 ActionController:BadRequest自定义错误消息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails 4.2 ActionController:BadRequest自定义错误消息相关的知识,希望对你有一定的参考价值。
如果验证失败或400 - bad request
缺少参数,我想从我的控制器返回。所以在我的控制器中如果有
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
。
但raise ActionController::BadRequest, "baa"
导致
ActionController::BadRequest: ActionController::BadRequest
如何向BadRequest
例外添加自定义消息?
试试这个:
raise ActionController::BadRequest.new(), "The Json body needs to be wrapped inside a "Patch" key"
以上是关于Rails 4.2 ActionController:BadRequest自定义错误消息的主要内容,如果未能解决你的问题,请参考以下文章
ruby 2.5 是不是已经用 Rails 4.2 测试过?
Docker - Rails Development Auto Reload Broken (Rails 4.2) Mac NFS
rails 4.2 DataTables无法重新初始化DataTable
Rails 4.2 - url helper 引发“ArgumentError:错误数量的参数(3 for 1..2)”