根据客户端的代码,我知道一款游戏可以正常使用ID。例如,如果我使用下面的{{game._id}}它可以正常工作:
Template.gamePage.game = function() {
return GameCollection.findOne({current: true});
};
但是,我正试图访问“提交”的出版物;仅适用于特定游戏ID。下面的控制台日志返回undefined。
router.js
this.route('gamePage', {
path: '/games/:_id?',
waitOn: function() {
console.log(this.params._id);
return [
Meteor.subscribe('randomQuestions', Random.id()),
Meteor.subscribe('submissions', this.params._id)
];
}
});
我怀疑params._id来自games /:_ id,但是,我希望它能保持游戏/:_ id?所以我没有不必要的长地址。
关于为什么我为params._id
定义未定义的任何想法答案 0 :(得分:0)
我认为你有一个按钮可以访问游戏,例如......
Tracker.autorun(function () {
Session.set('gameCurrent');
});
Template.gamePage.helpers({
allGames: function(){
return GameCollection.find({});
},
getCurrentGame:function(){
return Session.get('gameCurrent');
}
})
// with this action you access a the route with the id specified
Template.gamePage.events({
'click button#game' : function(event,template){
Session.set('gameCurrent',this._id);
Router.go('editEmail',{_id:this._id})
}
})
请记住,Session仅适用于客户端。