2014-10-09 3 views
0

Meteor 앱과 Iron 라우터에 다음 pub가 있습니다. 그러나 공개 기능이 아닌 주제로 게시를 변경하면 데이터 기능이 다시 작동하지 않습니다. 그럼 괜찮아. 하지만 그때 똑같은 두 번 같은 게시 할 수 없습니다 그리고 그것에 대해 유성 메시지가 나타납니다. 내가 뭘 잘못하고 있는지 모르겠다.Meteor 데이터를 수신하지 않고 게시하지 않음

나는 내가

this.route('topicPublic', { 
     path: 'public/:permalinkUser/:permalink', 
     layoutTemplate: 'layoutApp', 
     waitOn: function(){ 
      return [Meteor.subscribe('publicTopics', this.params.permalinkUser,this.params.permalink)] 
     }, 


     data: function(){ 
      return Topics.findOne({$and:[{permalinkUser: this.params.permalinkUser},{permalink: this.params.permalink}]}); 

     } 
    }); 

답변

0

귀하의 publicTopics 기능이 잘못 게시 다음 한 URL

Meteor.publish('topics' , function() { 
    return Topics.find({$or:[{userId: this.userId},{collaboratorsIds: this.userId},{inviteeId:this.userId}]}); 
}); 


Meteor.publish('publicTopics' , function(permalinkUser,permalink) { 
    return Topics.find({$and:[{permalinkUser: this.permalinkUser},{permalink: this.permalink}]}); 
}); 

에 내 철 라우터에 본사를 둔 공공 주제 세트를 가지고 싶습니다. 함수에 매개 변수를 전달하면 함수 내에서 this.permalinkUser를 사용하지 않고 permalinkUser 만 사용합니다. w3schools의 기능에 대해 자세히 알아보십시오.

Meteor.publish('publicTopics' , function(permalinkUser,permalink) { 
    return Topics.find({$and:[{permalinkUser: permalinkUser},{permalink: permalink}]}); 
}); 

주제 공개 기능에서 this.userId는 Meteor 오브젝트의 특성이기 때문에 사용합니다.

+0

예 내 실수로주의를 기울이지 않았습니다. 라우터 데이터 함수에서 반환 한 값을 복사했습니다. –

0

"this"를 제거해야합니다. 실수로주의를 기울이지 않았습니다. 라우터 데이터 함수에서 반환 한 값을 복사했습니다.

관련 문제