Pomocníci šablon jsou reaktivní, což znamená, že se sami aktualizují, když se změní stav aplikace nebo se objeví nová data. Ve vašem případě je pomocník volán ihned po vykreslení šablony a před Meteor.users
sbírka je naplněna. Proto .findOne()
metoda vrací nedefinováno. Bude opravena ve druhém průchodu poté, co dorazí nová data.
Jednoduchá oprava je zkontrolovat, zda jsou data přítomna uvnitř pomocníka:
myClub: function(){
var currenUserId = Meteor.userId();
var user = Meteor.users.findOne({_id: currenUserId});
if(!user) return 'NO DATA';
return user.role;
},
V reálném životě budete pravděpodobně chtít počkat, až se načtou základní data, než vykreslíte šablonu. To se obvykle provádí na úrovni ovladače.