我是新手,我正在构建一个非常简单的应用程序.我可以通过点击链接到标签生成的链接,从我的育种者索引页面(/育种者)导航到我的育种者展示页面(/ breeders /:breeder_id).但是,如果我手动导航到breeders / 1或任何其他breeders.show路由,我会收到以下错误:
Error while loading route: ReferenceError: params is not defined at Catapp.BreedersShowRoute.Ember.Route.extend.model
我无法弄清楚我做了什么导致了这一点.
这就是我认为的相关代码:
//router.js Catapp.Router.map(function() { this.resource('breeders',function() { this.route('new'); this.route('show',{path: '/:breeder_id'}); }); }); Catapp.IndexRoute = Ember.Route.extend({ redirect: function(){ this.transitionTo('breeders.index'); } }); Catapp.BreedersIndexRoute = Ember.Route.extend({ model: function(){ return this.store.find('breeder'); } }); Catapp.BreedersShowRoute = Ember.Route.extend({ model: function(){ return this.store.find('breeder',params.breeder_id); } });
.
// breeders_controller.js Catapp.BreedersController = Ember.ArrayController.extend({ sortProperties: ['id'] });
解决方法
您需要将参数实际添加到模型钩子中
Catapp.BreedersShowRoute = Ember.Route.extend({ model: function(params){ return this.store.find('breeder',params.breeder_id); } });
您可以随意调用它
Catapp.BreedersShowRoute = Ember.Route.extend({ model: function(foo){ return this.store.find('breeder',foo.breeder_id); } });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。