Meteor this.params._id未定义基于":_ id?"

时间:2014-09-10 16:08:06

标签: javascript mongodb meteor

根据客户端的代码,我知道一款游戏可以正常使用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

定义未定义的任何想法

1 个答案:

答案 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仅适用于客户端。