Rails 如何在引发自定义异常时添加响应

rails how add a response when raising a custom exception

提问人:aj soprano 提问时间:8/2/2022 更新时间:8/2/2022 访问量:190

问:

在 rails 中引发异常时,我还想添加一个自定义响应。 例如,如果我做了一个自定义的 404 异常,那么我希望响应是这样的。我正在考虑做这样的事情:msg: "no record found

raise customError, "msg: no record found"

但这似乎行不通。我还有其他方法可以解决这个问题吗?

ruby-on-rails Ruby 异常 后端 响应

评论

1赞 Mehmet Adil İstikbal 8/2/2022
你说的不起作用是什么意思?您收到错误了吗?
1赞 aj soprano 8/2/2022
不起作用,因为我在浏览器的响应中看不到任何内容
1赞 Mehmet Adil İstikbal 8/2/2022
您需要为我们分享更多信息。例如,呈现响应的代码和类代码。customError
1赞 spickermann 8/2/2022
我建议阅读官方 Rails 指南中关于rescue_from的内容。

答:

0赞 FAFA REN 8/2/2022 #1

您可以使用来拯救控制器中的所有 customErrors,然后呈现响应rescue_from

class ApplicationController 
  rescue_from CustomError do |exception|
    render_json json: { msg: exception.message }, status: 404
  end
end