无法在Ember数据中保存模型

时间:2014-06-15 21:27:23

标签: ember.js ember-data

当我尝试保存模型时会发生这种情况:

DEBUG: ------------------------------- ember.js:3521
DEBUG: Ember      : 1.5.1 ember.js:3521
DEBUG: Ember Data : 1.0.0-beta.7+canary.b45e23ba ember.js:3521
DEBUG: Handlebars : 1.2.1 ember.js:3521
DEBUG: jQuery     : 2.1.0 ember.js:3521
DEBUG: ------------------------------- ember.js:3521
Uncaught #<error> ember.js:73

保存模型的代码如下所示:(在控制器中)

this.get('model').toArray().get('0').save();

即使我像这样保存它也行不通:

this.get('model').save();

该模型如下所示:

App.Imagepost = DS.Model.extend({
    uploader: DS.attr(), // pojo {id:'1', name:'kfir', ...}
    title: DS.attr('string'),
    desc: DS.attr('string'),
    tags: DS.attr(),// array ['#good', '#bad', '#fun', ...]
    pics: DS.attr(), // array of objects
    comments: DS.attr() // array of objects
});

我只是尝试保存夹具数据模型,甚至不用触摸它 阅读模型工作正常我的模板渲染完美,但当我尝试保存我得到这个:

Uncaught #<error> 

我试图调试,好像它在这里打破了:

if (content) { content.removeArrayObserver(this); }

在Ember源中的25875行,完整的上下文:

  /**
    Invoked when the content property is about to change. Notifies observers that the
    entire array content will change.

    @private
    @method _contentWillChange
  */
  _contentWillChange: Ember.beforeObserver('content', function() {
    var content = this.get('content');

    if (content) { content.removeArrayObserver(this); }
    var len = content ? get(content, 'length') : 0;
    this.arrayWillChange(content, 0, len);
  }),

它是未被触及的JSON!为什么Ember数据无法保存? Ember数据让我在解决方案和与之相关的无限错误上花了3天时间

修改
注释是正确的问题是Ember数据不会保存数组,这会导致我的模板出现此错误。

在哪里可以找到Ember数据用来保存内容的代码?我想修改它以便保存数组

我应该放弃并确认Ember数据是一个野性的野兽并放弃我的mongo后端以支持mysql,这样Ember数据将再次开心

1 个答案:

答案 0 :(得分:0)

永远不要将Ember数据用于嵌入式。太破了。
试试Ember模型