2015-05-17 79 views
1

我有一些訂閱需要在用戶更改角色時進行刷新。由於用戶現在具有新角色,因此我需要在訂閱時考慮重新發布訂閱。這是我試圖做的:每次用戶更改角色時都運行訂閱

Tracker.autorun(function(){ 
    Meteor.users.find({_id: Meteor.userId()}, {fields: {"roles": 1}}); 
    console.log("You changed roles, republishing data"); 
    Meteor.subscribe('pendingUsers'); 
}); 

我正在使用alanning:角色。它似乎在某些情況下工作,但不是其他情況。一種不會觸發它運行的情況是當我從「流星外殼」中改變用戶角色時。我究竟做錯了什麼?有一個更好的方法嗎?

+0

你可以顯示你的發佈功能嗎? –

回答

0

您需要在subscribe()內進行更改。見docs

但是,如果你運行功能的下一次迭代訂閱相同的記錄集(相同的名稱和參數),流星是足夠聰明跳過浪費退訂/重新訂閱。