队列任务中引发的异常-帮助程序返回正确的值,但引发错误-Meteor

队列任务中引发的异常-帮助程序返回正确的值,但引发错误-Meteor,meteor,Meteor,修复此页控制台中抛出的错误:: 这是他们所指的助手: ownerRep: function(){ var rep = Meteor.users.findOne({_id: this.userId}); var repEmail = rep.emails[0].address, repArr = [], repArr = repEmail.split('@'); return repArr[0]; } }); 查询被插入到一个包含块中,该块在#每个演示上循环,并从演示集合中查找this

修复此页控制台中抛出的错误::

这是他们所指的助手:

ownerRep: function(){
var rep = Meteor.users.findOne({_id: this.userId}); 
var repEmail = rep.emails[0].address, 
repArr = [], 
repArr = repEmail.split('@'); 
return repArr[0]; 
}
});
查询被插入到一个包含块中,该块在#每个演示上循环,并从演示集合中查找this.userId,并将其与用户匹配以返回演示名称的所有者

以下是以下模板:

    <template name="demosOverview">
    <div class="container-fluid">
    <div class="row-fluid col-lg-10 col-lg-offset-1">

    <table class="table table-striped table-hover table-bordered dataTable" id="editable-    sample">
    <thead>
       <tr>
        <th>Rep</th>
        <th>SFID</th>
        <th>Date Set</th>
        <th>Closed</th>
        </tr>
    </thead>
     <tbody>
      {{#each demos}}
         {{> demoOverviewItem}}
      {{/each}}
     </tbody>

        </table>
    </div>
    </div>
</template>


<template name="demoOverviewItem">
 <tr>
    <td>{{ownerRep}}</td>
    <td> <a href="{{pathFor 'demoPage'}}">{{sfid}}</a> 

    <a href="{{sfid}}" class="pull-right" target="blank" title="Salesforce">
    <img src="/img/salesforce-logo.png" height="16" width="16">
    </a>

    </td>
    <td>{{dateset}}</td>
    <td>{{closed}}</td>
 </tr>
</template>

代表
SFID
日期集
关闭
{{{#每个演示}
{{>demoOverviewItem}
{{/每个}}
{{ownerRep}}
{{dateset}}
{{关闭}}
我正在将Meteor.users.find()从服务器发布/订阅到客户端,但还没有将其配对,只发送特定字段(为了方便黑客攻击)

奇怪的是,它工作正常,并按预期返回演示所有者的电子邮件地址。当我重新加载页面时会抛出错误,但当我从站点上的其他位置导航到页面时不会抛出错误


看起来像是等待出错,或者当我点击reload时,它不知道currentUser=true,所以它在意识到我登录之前抛出了错误——这只是一个理论。我在谷歌、斯塔克夫和IRCD上搜索都没有用

看起来在页面重新加载时,客户端还没有用户。 试一试


一旦findOne获得了它要查找的数据,它应该重新运行

很高兴我能帮忙!请接受我的回答。:)谢谢
    <template name="demosOverview">
    <div class="container-fluid">
    <div class="row-fluid col-lg-10 col-lg-offset-1">

    <table class="table table-striped table-hover table-bordered dataTable" id="editable-    sample">
    <thead>
       <tr>
        <th>Rep</th>
        <th>SFID</th>
        <th>Date Set</th>
        <th>Closed</th>
        </tr>
    </thead>
     <tbody>
      {{#each demos}}
         {{> demoOverviewItem}}
      {{/each}}
     </tbody>

        </table>
    </div>
    </div>
</template>


<template name="demoOverviewItem">
 <tr>
    <td>{{ownerRep}}</td>
    <td> <a href="{{pathFor 'demoPage'}}">{{sfid}}</a> 

    <a href="{{sfid}}" class="pull-right" target="blank" title="Salesforce">
    <img src="/img/salesforce-logo.png" height="16" width="16">
    </a>

    </td>
    <td>{{dateset}}</td>
    <td>{{closed}}</td>
 </tr>
</template>
var rep = Meteor.users.findOne({_id: this.userId}); 
if (rep) {
var repEmail = rep.emails[0].address, (..) 
}