ruby-on-rails-3 - 引发异常时 Rails 渲染 html 而不是 json

标签 ruby-on-rails-3 json exception

希望有人能帮助解决这个问题。

我有一个正在用 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/

相关文章:

ruby-on-rails - Rails 在多个实例/服务器上重新加载动态路由

ruby-on-rails - 在Ruby On Rails应用中创建视频?

json - 创建 JSON 响应

c# - 将 Entity Framework 对象序列化为 JSON

c# - WCF N 层应用程序中的异常处理和日志记录

ruby-on-rails - 在我的用户表中有 "id holes"是否正常/建议 (rails 3.2/postgresql)

ruby-on-rails - Rails 3 - AJAX,响应 JS - 如何处理错误

javascript - 如何避免输入值切换大小写

c++ - 标记为 noexcept 的函数内部可以有异常吗?

C# ColorTranslator.FromHtml() 抛出 "Grey"的异常(不是 int32 的有效值)