Rails 3:如何在JSON请求中返回错误?
当用户向我的API发出JSON / XML请求时,如何返回800,404等错误?
我试过了
error 404, {:error => "ERror".to_json }
没有成功。
此外,我试图把“respond_to”,但它不工作(它重复respond_to并给出错误)。
谢谢
用html返回这样的错误也是一样,它是HTTP Header的一部分。
render json: @myobject, status: :unprocessable_entity
更新,回应评论:
您可以从Rack获取所有状态代码。 Rails将符号状态传递给Rack
Rack::Utils.status_code(options[:status])
它简单地匹配符号到状态列表(string被转换为符号)这是吸烟新鲜名单: https : //github.com/rack/rack/blob/master/lib/rack/utils.rb#L575 -L638
滚动一下,你会看到status_code
方法。 阅读源代码很有趣!