我设置了路由器,以便如果有人输入sitename.com/:username,它会直接转到该用户页面。但出于某种原因,当我尝试这样做时,我有时会被重定向到我的主页并在控制台中出现此错误。
Sorry, couldn't find the main yield. Did you define it in one of the rendered templates like this: {{yield}}?
它更奇怪,因为我会说60%的时间它加载得很好并且没有问题。有没有熟悉Meteor,Handlebars和Iron-Router软件包的人知道这个还是可以帮忙?
如果您需要更多代码,请与我们联系。
这是路由。我在最后添加了wait()调用,看看是否有帮助。它似乎有所帮助,但错误仍然存在。
this.route('userPosts', {
path: '/:username',
layoutTemplate: 'insideLayout',
template: 'userPosts',
yieldTemplates: {
'insideNavigationList': {to: 'list'},
'brandContainer': {to: 'brand'},
'postsPageOptions': {to: 'pageOptions'}
},
waitOn: function () {
return [Meteor.subscribe('userData'), Meteor.subscribe('selectedUser', this.params.username), Meteor.subscribe('posts', this.params.username)];
},
data: function () {
return Meteor.users.findOne({username: this.params.username}) && Session.set('selectedUserId', Meteor.users.findOne({username: this.params.username})._id)
},
before: function () {
if (!Meteor.user()) {
this.redirect('/login')
}
this.subscribe('selectedUser', this.params.username).wait();
this.ready();
}
});