在我的生命中,我被困在一个EmberJS问题上,根本无法理解它。
我拥有的是在我的路由器中指定为资源的资源集合,例如。反过来,这会加载另一个资源,这个资源基本上是资源集合的一个单一实例。 基本上我的路由器看起来像这样:
App.Router.map(function(){
this.resource('stacks', function(){
this.resource('stack',{path:'/:stack_id'});
});
});
但是,当我访问/ stacks页面时,我得到:
断言失败:无法使用' id'在未定义的对象上
堆栈和堆栈都有一个稍后在代码中定义的路由,例如' Ember.Route.extend({})'对于他们每个人和Stacks路由返回'堆栈'来自数据存储的模型。上面是否有明确错误,因为我正在遵循示例,并且它并不认为我正在做任何不正确的事情。
谢谢
答案 0 :(得分:0)
你的堆栈模型是否有一个名为stack_id的属性?如果没有,则需要在堆栈路由上实现serialize方法
App.StackRoute = Em.Route.extend({
serialize: function(model){
return { stack_id: model.get('id')};
}
});