Ember.js Ember data 1.0 beta 3 model.rollback()不回滚子项\u ID

Ember.js Ember data 1.0 beta 3 model.rollback()不回滚子项\u ID,ember.js,ember-data,Ember.js,Ember Data,我使用的是新的Ember data 1.0.0 beta3,有这个问题(我在13版本中没有这个问题!) 给出了两个关系密切的模型 App.Post = Ember.Model.extend title: DS.attr('string') images: DS.hasMany('image', async:true) App.Image = Ember.Model.extend title: DS.attr('string') 我在应用程序中有很多图片,不需要一张属于post的图

我使用的是新的Ember data 1.0.0 beta3,有这个问题(我在13版本中没有这个问题!)

给出了两个关系密切的模型

App.Post = Ember.Model.extend
  title: DS.attr('string')
  images: DS.hasMany('image', async:true)

App.Image = Ember.Model.extend
  title: DS.attr('string')
我在应用程序中有很多图片,不需要一张属于post的图片。 然后,我尝试从控制器中推送一些图像以进行发布(不管从何处进行此上下文)

到目前为止还不错,我有一个“取消”按钮处于活动状态,因为我已经手动将帖子发送到“isDirty”状态,但问题是,当我执行回滚()时

在添加图像之前,我不会得到状态,我的意思是:它适用于“标题”,但不适用于图像ID

是否有人知道它是否有预期行为或/或如何纠正?
再一次:在rev13中一切都很好:(

正如好人在这里提到的,在检查了源代码之后

现在这是一个当前的余烬数据行为,我用老式的方式修复了它

  • 保存子对象的单独实例initChildren
  • 点击“放弃更改”时恢复到该状态

  • 我在回滚模型的子属性时也遇到同样的问题。但是当我尝试将模型的数组设置为子属性的原始实例时,它会抛出一个错误:“无法设置只读属性…”。。。
    assignImage: (image_id) ->
      post = @get('controllers.post.content')
      @store.find('image', image_id).then (image) =>
        topic.get('images').addObject(image)
        post.transitionTo('updated.uncommitted');
    
    discardChanges: (post) ->
      if(post.get('isDirty'))
        post.rollback()