Ember.js createRecord未填充关联
我使用Ember数据来定义两个模型以及它们之间的关联,然后使用createRecord方法插入一些数据。不涉及关联的属性存在于模型中并可获取(它们返回正确的值),但对关联内容的调用返回空数组。我做错了什么 编辑:因此使用Ember.js createRecord未填充关联,ember.js,Ember.js,我使用Ember数据来定义两个模型以及它们之间的关联,然后使用createRecord方法插入一些数据。不涉及关联的属性存在于模型中并可获取(它们返回正确的值),但对关联内容的调用返回空数组。我做错了什么 编辑:因此使用加载而不是创建记录现在会给出一个[3,3]数组,我仍然无法访问属性。我能得到的最接近的是:b.get(“messages”).get(“firstObject”).id,它返回字符串“[object object]” 看起来对{embedded:true}的支持不久前就被删除了,
加载
而不是创建记录
现在会给出一个[3,3]数组,我仍然无法访问属性。我能得到的最接近的是:b.get(“messages”).get(“firstObject”).id
,它返回字符串“[object object]”
看起来对
{embedded:true}
的支持不久前就被删除了,这就是为什么它不起作用的原因。有一个拉取请求(有效)当前处于挂起状态,将此功能带回来
// Store
App.store = DS.Store.create({
revision: 6,
adapter: App.adapter
});
// Models
App.Message = DS.Model.extend({
msg: DS.attr('string'),
time: DS.attr('string'),
chat: DS.belongsTo('App.Chat')
});
App.Chat = DS.Model.extend({
name: DS.attr('string'),
avatar: DS.attr('string'),
messages: DS.hasMany('App.Message', { embedded: true }),
preview: function() {
this.get('messages').firstObject;
}.property('messages')
});
var a = App.store.createRecord(App.Chat, { "id": 1,
"name": 'Foo Bar',
"avatar": 'test',
"messages": [{
"id": 1,
"msg": 'This is a test post one two three',
"time": '1:10pm'
},{
"id": 2,
"msg": ' This is another test post three two one',
"time": '1:15pm'
}]
});
var b = App.store.find(App.Chat, 1);
console.log(b.get("name")) // Foo Bar
console.log(b.get("messages").get("content")) // [] (an empty array)