首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >路由中未定义"Params“的成员

路由中未定义"Params“的成员
EN

Stack Overflow用户
提问于 2014-02-16 16:17:48
回答 1查看 5.4K关注 0票数 6

我是新成员和正在构建一个非常简单的应用程序。通过单击链接- to标记生成的链接,我可以从我的繁育者索引页面(/breeders)导航到我的育种者显示页面(/ breeders /:育种者_id)。但是,如果手动导航到繁育者/1或任何其他breeders.show路由,则会出现以下错误:

代码语言:javascript
复制
Error while loading route: ReferenceError: params is not defined
at Catapp.BreedersShowRoute.Ember.Route.extend.model

我不知道是我做了什么导致了这一切。

我认为这是有关的守则:

代码语言:javascript
复制
    //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);
        }
    });

代码语言:javascript
复制
// breeders_controller.js
Catapp.BreedersController = Ember.ArrayController.extend({
    sortProperties: ['id']
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-16 16:36:56

实际上,您需要将参数添加到模型钩子中

代码语言:javascript
复制
Catapp.BreedersShowRoute = Ember.Route.extend({
    model: function(params){
        return this.store.find('breeder', params.breeder_id);
    }
});

你也可以随便叫它

代码语言:javascript
复制
Catapp.BreedersShowRoute = Ember.Route.extend({
    model: function(foo){
        return this.store.find('breeder', foo.breeder_id);
    }
});
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21813839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档