2014-03-06 2 views
1

이것은 내 응용 프로그램의 root에있는 내 router.js 파일입니다. 웬일인지 question에 대해 정의되지 않은 것을 계속 얻는다.Meteor에서 collection.fineOne을 호출 할 때 정의되지 않음

Router.map(function() { 
    this.route('question_display', { 
     path: '/questions/:_id/:title?', 
     template: 'display_question', 
     yieldTemplates: { 
      'header': {to: 'header'}, 
      'footer': {to: 'footer'} 
     }, 
     waitOn : function() { 
      return Meteor.subscribe('questions'); 
     }, 
     before: function() { 
      var id = this.params._id; 
      var question = Questions.findOne({_id: id}); 
      console.log(question); 
      Router.go('postShow', {_id: id, title: question.title}); 
     } 
    }); 
}); 

나는 또한 내가 실제로 문제가 있는지 확실하지 해요 /server/ 디렉토리

Meteor.publish('questions', function() { 
    return Questions.find({}); 
}); 

에 위치한 내 publish.js 파일에 일부 코드를 가지고있다. 이전에이 작업을 수행했지만 아무런 문제가 없었습니다. 이제는 문서를 찾으려고 할 때 계속 정의되지 않습니다. 이 문서는 내 데이터베이스에 존재합니다.

답변

0

Questions.findOneif (this.ready() == true)으로 싸야합니다. 본질적으로 구독이 준비 될 때까지 기다려야합니다.