我正在使用Ruby on Rails 3,我尝试在发出HTTP POST请求后从Web服务应用程序中检索错误数据。我希望收到包含errors
root。
在服务应用控制器中我有
format.json {
render :json => @account.errors, :status => 202
}
返回的返回数据例如是
{\"base\":\"Invalid submitting\",\"name\":\"To short\"}
我想收到这样的数据
# Note 'errors'
"{\"errors\":{\"base\":\"Invalid submitting\",\"name\":\"To short\"}"}
我该怎么做?
解决方案是制作此
render :json => '{"errors":' + @account.errors.to_json + '}'
但我不认为这是正确的\正确方法。 RoR肯定有一些功能可以做得更好......
答案 0 :(得分:0)
您应该能够构造一个等效的哈希,然后使用它:
error_hash = { 'errors' => @account.errors.to_h }
render(:json => error_hash, :status => 302)