Ember Cli不能像Ember通常应该做的那样使用关系数据(relateTo和hasMany)。为了使其工作,我使用RSVP哈希并手动在控制器中设置模型。
export default Ember.Route.extend({
model: function(params) {
return Em.RSVP.hash({
traits: this.store.find('trait'),
person: this.store.find('person', params.person_id)
});
},
setupController: function(controller, model) {
controller.set('model', model.person);
}
});
这会使具有给定ID及其特征的人获得。在这种情况下,由于人员只分配了两个特征,因此只返回这两个数据对象。
让我们说在这条路线上,我想让用户能够改变这个人的特征。所以,我想用复选框显示所有特征。如何在上面的路线中强制要求获得所有特征,而不仅仅是两个?
我尝试了store.all(),但只过滤了本地数据。由于还没有数据,它返回0个对象。
答案 0 :(得分:3)
Ember-cli只是帮助您设置项目结构并构建它。它没有任何不同的Ember
运行。如果您想要模板或控制器中的所有特征,您应该在获取它们之后实际跟踪它们。
export default Ember.Route.extend({
model: function(params) {
return Em.RSVP.hash({
traits: this.store.find('trait'),
person: this.store.find('person', params.person_id)
});
},
setupController: function(controller, model) {
controller.set('model', model.person);
controller.set('allTraits', model.traits);
}
});