从Web服务应用程序中检索错误数据

时间:2011-03-05 22:11:19

标签: ruby-on-rails ruby ruby-on-rails-3 response

我正在使用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肯定有一些功能可以做得更好......

1 个答案:

答案 0 :(得分:0)

您应该能够构造一个等效的哈希,然后使用它:

error_hash = { 'errors' => @account.errors.to_h }

render(:json => error_hash, :status => 302)