如果我有一些Color
,每个Foo
s(嵌入式),我如何从任何给定的color
取回foo
?
鉴于
App.ColorSerializer = DS.ActiveModelSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
foos: {embedded: 'always'}
}
});
App.Color = DS.Model.extend({
color: DS.attr(),
foos: DS.hasMany('foo')
});
App.Foo = DS.Model.extend({
color: DS.belongsTo('color'),
name: DS.attr()
});
模板不打印与color
相关联的右foo
:
{{#each foo in color.foos}}
<li>
{{foo.name}} - {{ foo.color }}
</li>
{{/each}
我错过了什么? DS.belongsTo('color')
不是正确定义关系的方法吗?我玩inverse
和其他类型的嵌入也没有运气。
请参阅jsbin:http://emberjs.jsbin.com/OxIDiVU/1020/edit({{ foo.color }}
没有打印出来)
答案 0 :(得分:0)
为了使belongsTo
能够处理foo,foo记录必须包含颜色ID。
例如
{
id:1,
color: 1,
name:'something 1'
}
答案 1 :(得分:0)
App.Color = DS.Model.extend({
color: DS.attr(),
foos: DS.hasMany('foo'),
didLoad: function() {
this.get('foos').forEach(function(foo) {
foo.set('color', this);
}.bind(this));
}
});
优等!