在控制器中,我在一条记录上调用.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'
答案 0 :(得分:1)
您需要使用活动模型适配器,返回422以及具有errors属性的对象,该属性是键/值失败的对象