问题1 我在ember-1.0.0-rc.1 + ember.data-11中创建嵌套模型的概念有什么问题?
问题2 使用var line = App.Line.find()我应该得到Line。如何将Andon或Shift作为对象嵌套在一行中?或者只有Andon的颜色?
这是我的jsFiddle。
App.Line = DS.Model.extend({
name: DS.attr('string'),
shifts: DS.hasMany('App.Shift'),
});
App.Shift = DS.Model.extend({
name: DS.attr('string'),
// shift 1 <-> 1 shifts
line: DS.belongsTo('App.Line'),
// one-to-one relationship between Shift and Andon
andon: DS.belongsTo('App.Andon')
});
App.Andon = DS.Model.extend({
// one-to-one relationship between Shift and Andon
shift: DS.belongsTo('App.Shift')
})
控制器
App.LinesController = Ember.ArrayController.extend({
content: [],
});
App.linesController = Ember.ArrayController.create({
content: [],
init: function(){
var self = this;
self.pushObject(
App.Line.createRecord(
{
...
shifts: [
App.Shift.createRecord(
{
andon: App.Andon.createRecord({...})
}),
App.Shift.createRecord(
{
andon: App.Andon.createRecord({...})
}),
]
},
],
}
),
);
},
});
非常感谢!
答案 0 :(得分:0)
关于问题2:
我认为你需要为每个belongsTo添加一个外键,即Shift中的line_id和andon_id以及Andon中的shift_id,然后你需要创建一些可以嵌入/加载关联的序列化器。不幸的是,我只熟悉rails中的activeModel序列化程序,这可能不适用于你的情况,但也许this question答案中的例子可以帮助你。