Ember'变得无效'没有开火

时间:2013-12-16 05:02:37

标签: ruby-on-rails ember.js ember-data

在控制器中,我在一条记录上调用.commit(),然后发布到API端点。

当我渲染状态422(Rails不可处理的实体以进行验证错误)时,既没有错误也没有无效的回调。当我将服务器端错误代码更改为400时,变为错误回调命中。

是否因为变得无效而需要有所不同?

// model (coffeescript)
App.Post = DS.Model.extend
  message: DS.attr('string')
  becameError: () ->
    console.log 'error fired' // fires when 400, doesnt fire when 422
  becameInvalid: (error) ->
    console.log 'invalid fired' // doesnt fire when 422

// controller
model.on('becameError', () ->
  console.log 'error fired'
).on('becameInvalid', (error) ->
  console.log 'invalid fired'

1 个答案:

答案 0 :(得分:1)

您需要使用活动模型适配器,返回422以及具有errors属性的对象,该属性是键/值失败的对象

http://emberjs.jsbin.com/OxIDiVU/34/edit