Return JSON instead of HTML error page on heroku
我正在创建rails-powered app,它充当JSON API,并在heroku上托管。
现在,如果引发异常,heroku会返回正确的http响应代码,并将可自定义的HTML页面作为响应。 但是,由于我没有使用HTML格式,即使我设置了Accept: application/json标头,也没有返回HTML响应 - 这对我来说是不正确的。 是否可以自定义响应,并返回某种JSON? (如果没有,没有身体的反应也会好的)
-
你有没有运气呢? heroku有能力定义错误页面,如果你只是加载一个json文本文件作为错误页面,这很奇怪......
您应该在控制器中捕获异常,并且head :not_found或类似的东西。
http://guides.rubyonrails.org/action_controller_overview.html#rescue_from
http://rails.rubyonrails.org/classes/ActionController/Base.html#M000466
-
我当然可以,但我无法轻易抓住这种方法的所有错误
-
你为什么不能? 你可以rescue_from Exception并处理它们。 有关示例,请访问stackoverflow.com/a/6773038/363881。
-
或者只是阅读rescue_from的链接文档
-
嗯...我无法轻易地捕获路由错误(即没有使用通配符路由弄乱我的路由)