我设置了一个未找到的模板,它只适用于URL中没有slug的路由。此外,iron-router-progress栏位于约。 95%(与禁止模板相同)。我认为这是因为客户端正在等待订阅,但没有返回的数据。 这是我的代码:
var admin = function(pause) {
if (Meteor.user()) {
var member = Member.findOne({slug: this.params.slug});
if (member) {
if (!Roles.userIsInRole(Meteor.userId(), [member.slug], ['admin'])) {
this.render('forbidden');
pause();
}
}
}
}
...
this.route('teamMembers', {
path: '/member/:slug/overview',
onBeforeAction: admin,
waitOn: function() { return [Meteor.subscribe('members', this.params.slug)]; },
data: function() {
return Members.findOne({slug: this.params.slug});
}
});
对于insance:
/member/john/overview123
- > notFound模板呈现(✓)/member123/john/overview
- > notFound模板呈现(✓)/member/lisa/overview
(丽莎不存在) - > no notFound模板呈现(x)非常感谢任何帮助。