面包屑path:检索path下所有内容的数据

在我的应用程序中,我有几条path如下所示,都在面包屑path下。

/class/:slug /class/:slug/student/:_id /class/:slug/teacher/:_id 

然而,这往往会导致冗余,因为在查询之前,我必须不断地查看class级

 this.route('Class.teacher', { path: '/class/:slug/teacher/:_id', waitOn: function() { return Meteor.subscribe('teachers'); }, data: function() { var classId = Classes.findOne({ slug: this.params.slug })._id; if(!classId) { throw new Meteor.Error(404, 'That class does not exist'); } return Teacher.findOne( { _id: this.params._id, classIds: classId } ); } }) 

问题是看起来导致了多余的冗余,因为我通过findclass级开始了大部分路线。

有没有办法对/class/:slug路由进行某种操作? 我在想这样的事情:

 Router.route('/class/:slug/*', { waitOn: function() { return Meteor.subscribe('classes', this.params.slug); }, onBeforeAction: function() { var class = Classes.findOne(this.params.slug); if(!class) { throw new Meteor.Error(404, "Class not found"); this.stop(); } this.next(); } }); 

但是,这是行不通的。 以这种方式处理面包屑path的正确方法是什么?

你可以使用

 Router.onBeforeAction(function(req, res, next){ // find class here // req.params.slug Not sure about this next() }, { only: ['class'] }); 

只是一个想法,但。