Skabelonhjælpere er reaktive, hvilket betyder, at de opdaterer sig selv, efterhånden som apptilstanden ændres, eller nye data vises. I dit tilfælde tilkaldes hjælperen straks, når skabelonen gengives, og før Meteor.users
samlingen er fyldt. Derfor er .findOne()
metode returnerer udefineret. Det vil blive rettet i den anden omgang, efter at nye data ankommer.
Den enkle rettelse her er at kontrollere, om data er til stede inde i hjælperen:
myClub: function(){
var currenUserId = Meteor.userId();
var user = Meteor.users.findOne({_id: currenUserId});
if(!user) return 'NO DATA';
return user.role;
},
I det virkelige liv vil du sandsynligvis vente på, at de grundlæggende data bliver indlæst, før du gengiver skabelonen. Det gøres normalt på controllerniveau.