希望有人能帮助解决这个问题。
我有一个正在用 Rails 编写的 Web 服务应用程序。我正在使用RocketPants用于服务和 Authority以获得授权。
我遇到了异常处理问题,其中“现在允许的”权限异常 (Authority::SecurityViolation) 呈现为 HTML,而不是 JSON。
我已在 this gist 中记录了这个故事和 this issue .
我可以通过在 ApiController 中引发异常来进行复制,例如 raise "blah"
,然后我会得到一个 html 错误页面。我尝试过像 this question 中那样使用 rescue_from
同样的不成功结果。
我不知道从这里到哪里去。有人知道 Rails 异常处理堆栈中导致此问题的任何内容吗?如果有任何帮助,我将不胜感激。
最佳答案
你在 ApiController 类中尝试过这个吗?
rescue_from StandardError, with: :render_unknown_error
def render_unknown_error(error)
render(json: error.inspect, status: 500)
end
关于ruby-on-rails-3 - 引发异常时 Rails 渲染 html 而不是 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14909494/