模型数据保持为未定义或null

时间:2015-06-24 16:50:51

标签: ember.js

这应该是一个非常简单的问题,但我似乎无法理解为什么我的数据被保存为null或未定义。我尝试了多个适配器,不同的数据库,以及教程和博客文章中的几种方法,所有数据保存为" null"或"未定义"

背景:Ember 1.13.2 Ember-data 1.13.4。我试图不使用控制器但是理解我可能不得不直到可路由组件为止。

所以:     /app/models/person.js

import DS from 'ember-data';
export default DS.Model.extend({

  firstName: DS.attr('string'),
  lastName: DS.attr('string')
});

然后我有我的pod ... / app / pods / person。

所以/app/pods/person/route.js

import Ember from 'ember';

export default Ember.Route.extend({

model() {
  return this.store.findAll('person');
},

actions: {

  create() {
    var newPerson = this.store.createRecord('person');
    newPerson.save();

}  }  });

和/app/pods/person/template.hbs

{{input value=model.firstName}}
{{input value=model.lastName}}

<button {{action "create"}}> Create </button>

所以数据进入输入,如果我做{{model.firstName}},我会在屏幕上看到它绑定。只是当我点击&#34;创建&#34;为了尝试保存它,ember-data将两个字段保存为&#34; null&#34;或&#34;未定义&#34;。知道为什么吗?

1 个答案:

答案 0 :(得分:0)

You need to assign the values of the model (bound to inputs) to the new record. Pass an object as 2nd param of createRecord(). var model = this.get('model'); var newPerson = this.store.createRecord('person', { firstName: model.get('firstName'), lastName: model.get('lastName') }); See this post for a longer example.