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