【发布时间】:2013-12-03 14:21:48
【问题描述】:
我正在根据表单数据和另一个承诺(用于相关记录)创建一条记录。
这是我关注的基本 JSON
//appointment
{
"id": 6,
"details": "test",
"customer": 1
}
//customer
{
"id": 1,
"name": "Sle eep",
"appointments": [6]
}
我的 ember-data 模型如下所示
App.Appointment = DS.Model.extend({
details: attr('string'),
customer: belongsTo('customer', { async: true})
});
App.Customer = DS.Model.extend({
name: attr('string'),
appointments: hasMany()
});
当我创建约会时,它目前看起来像这样
this.store.find('customer', 1).then(function(customer) {
var appointment = {
details: 'foo',
customer: customer.get('id')
}
this.store.createRecord('appointment', appointment).save();
});
上面的问题是我的序列化器在表单数据是一个承诺时表现不佳。这是我应该如何创建记录吗?如果不是,这个创建应该是什么样子?
提前谢谢你
更新
再环顾四周后,似乎 belongsTo 上的 async: true 可能是问题所在。就在“createRecord”之前,我可以看到以下内容
对象{详细信息:“asd”,客户:1}
但是当我跳入 ember-data 的“createRecord”方法(在 RESTAdapter 中)时,我注意到现在客户再次被表示为一个承诺(不是我在调用该方法之前看到的整数值或字符串值)
【问题讨论】:
标签: ember.js ember-data