Javascript Meteor全局模板帮助程序不能在所有模板中工作

Javascript Meteor全局模板帮助程序不能在所有模板中工作,javascript,meteor,Javascript,Meteor,我遇到了一个问题,我的全局模板助手在一个模板中工作,但在另一个模板中不工作。它是一个帮助器,可以在用户的帖子和个人资料页面上显示与用户关联的个人资料图像。该图像显示在帖子上,甚至在用户上传新的配置文件图像时更新。但是,它在用户的配置文件页面上不起作用 助手的代码如下所示 Template.registerHelper('getProfileImg', function(userId){ var imgUrl = UserImages.findOne({userId: userId}, {so

我遇到了一个问题,我的全局模板助手在一个模板中工作,但在另一个模板中不工作。它是一个帮助器,可以在用户的帖子和个人资料页面上显示与用户关联的个人资料图像。该图像显示在帖子上,甚至在用户上传新的配置文件图像时更新。但是,它在用户的配置文件页面上不起作用

助手的代码如下所示

Template.registerHelper('getProfileImg', function(userId){
  var imgUrl = UserImages.findOne({userId: userId}, {sort: {createdAt: -1}}).image;
  return imgUrl;
});
我将其存储在client/common.js中

我在posts页面上访问它,就像这样

{{#each posts}}
<div class="row post z-depth-2">
  <div class="col s1">
    <img class="post-image" src="{{getProfileImg userId}}" />
  </div>

  <div class="col s11">
    <small>Posted By {{name}} at {{createdAt}}</small>
    <blockquote>
      {{body}}
    </blockquote>
  </div>
</div>
{{else}}
  <p>
    No Posts Yet
  </p>
{{/each}}
{{{#每个帖子}
由{{name}发布在{{createdAt}
{{body}}
{{else}

还没有帖子

{{/每个}}
在这里它很好用。但是,当我从用户配置文件页面访问它时,它不起作用,如下所示:

<div class="col s6">
 <img src="{{getProfileImg userId}}" alt="ProfileImg" />
</div>


关于可能发生的事情有什么想法吗?

在第一个示例中,userId是post的属性。我假设在您的配置文件页面上,userId不是用户配置文件的有效属性。您可能需要在配置文件页面上使用_id。然后我会用_id替换userId吗?以后是否需要修改帮助程序?您需要将其替换为您试图获取配置文件映像的用户id。这是因为您忘记了为
创建帮助程序。在第一个示例中,userId是帖子的属性。我假设在您的配置文件页面上,userId不是用户配置文件的有效属性。您可能需要在配置文件页面上使用_id。然后我会用_id替换userId吗?以后是否需要修改帮助程序?您需要将其替换为尝试获取配置文件映像的用户id。这是因为您忘记为
创建帮助程序