在CoffeeScript中解析Rails模型错误

时间:2018-07-27 22:03:29

标签: javascript ruby-on-rails json parsing coffeescript

我正在尝试解析从客户端的Ruby模型返回的验证错误消息,但是我遇到了问题。

应用程序按预期返回JSON错误:

"{"error":{"first_name":["can't be blank"],"last_name":["can't be blank"]}}"

我无法弄清楚如何从JSON中解析错误。我想解析每个组件对...即获取字段(名字)和错误消息(“不能为空”),但我一直遇到错误。

如何从响应中解析出这些单独的片段?我想我对如何将json字符串解析为其各个组成部分缺乏了解。

我在下面包括了相关的ajax:error函数。感谢您的帮助!谢谢!

$ ->

  $(document).on "ajax:error", "form", (evt, data, status, xhr) ->
    list_area = $('#error-explanation ul')
    list_area.empty()
    for own key, value of errorList
      console.log "#{key} -> #{value}"

上面的代码输出到控制台:

error -> [object Object]

我期望看到firstname->不能为空。我相信我没有正确解析对象。

1 个答案:

答案 0 :(得分:1)

好的,我解决了这个问题。我只是不明白如何到达json中的嵌套对象。

我只需要指向已解析的json对象中的正确数据即可:

$(document).on "ajax:error", "form", (event, data, status, xhr) ->

errorList = JSON.parse data.responseText
for own key, value of errorList.error
  console.log "#{key} -> #{value}"

感谢您的回复!