Handlebars使用'/:username'参数产生错误

时间:2014-02-04 19:27:52

标签: meteor handlebars.js iron-router

我设置了路由器,以便如果有人输入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();
    }

});

0 个答案:

没有答案