当用户向我的API发出JSON / XML请求时,如何返回800,404等错误?
我试过
error 404, {:error => "ERror".to_json }
没有成功。
另外,我试图设置一个“respond_to”,但它不能正常工作(它复制了respond_to并给出了错误)。
由于
答案 0 :(得分:66)
与使用html返回此类错误的方式相同,它是HTTP标头的一部分。
render json: @myobject, status: :unprocessable_entity
更新,回复评论:
您可以从Rack获取所有状态代码。 Rails将符号化状态传递给Rack
Rack::Utils.status_code(options[:status])
简单地将符号与状态列表匹配(字符串转换为符号) 以下是吸烟清单:https://github.com/rack/rack/blob/master/lib/rack/utils.rb#L575-L638
滚动一点,你会看到status_code
方法。阅读源代码很有趣!