我正在尝试使用 ember data 1.0 beta 版本让应用程序正常工作,并且在获取路由以触发查找从服务器加载的关联模型时遇到问题。
这是我的对象的样子:
App.Technician = DS.Model.extend({
first_name: DS.attr(),
last_name: DS.attr(),
name: function(){
return this.get('first_name')+' '+this.get('last_name');
}.property('first_name', 'last_name')
});
App.TechniciansRoute = Ember.Route.extend({
model: function() {
return this.get('store').find('technician');
}
});
然而,当技术人员路线试图加载模型时,this.get('store').find() 总是会抛出一个 find 未定义的异常。我已经调试了它并点击了以下功能
store: Ember.computed(function(){
var container = this.container;
var routeName = this.routeName;
var namespace = get(this, 'router.namespace');
return {
find: function(name, value) {
var modelClass = container.lookupFactory('model:' + name);
Ember.assert("You used the dynamic segment " + name + "_id in your route "+ routeName + ", but " + namespace + "." + classify(name) + " did not exist and you did not override your route's `model` hook.", modelClass);
return modelClass.find(value);
}
};
})
modelClass 是对未定义 find() 的 App.Technician 的引用,因此抛出异常。
有没有人有任何想法?感觉就像我错过了一些简单的东西,但我无法弄清楚它是什么。