我已经使用Iron Router设置了我的应用程序并且有一个'帖子'我希望根据其ID显示单个帖子的页面。但是,此页面不显示帖子,而是帖子模板呈现空白(尽管网址和导航工作正常)。这是我的代码:
router.js
Router.route('postDetail', {
path: '/posts/:_id',
notFoundTemplate: 'postNotFound',
waitOn: function() {
return [
Meteor.subscribe('post')
]
},
data: function() {
var idVar = this.params._id
return posts.findOne({_id: idVar});
}
});
postDetail.html
<template name="postDetail">
{{address}}
</template>
postsPub.js
Meteor.publish('posts', function () {
return posts.find();
});
Meteor.publish('post', function (id) {
return posts.find(id);
});
答案 0 :(得分:1)
您的发布商似乎需要id
。在waitOn
:
Meteor.subscribe('post', this.params._id)
答案 1 :(得分:0)
我能够通过简单地删除'post'发布功能来解决这个问题,并且包括以下引用'posts'发布功能的路线:
Router.route('postDetail', {
path: '/posts/:_id',
notFoundTemplate: 'postNotFound',
waitOn: function() { return Meteor.subscribe('posts'); },
data: function() { return posts.findOne(this.params._id); }
});