我想基于在页面上迭代的用户来显示信息。

我有以下模板:

<template name="allUsers">
  <div>
    {{#each user}}
      {{username}}<br/>
      <!-- This is where I need some guidance -->
      {{#if roles == 'webmaster}} <!-- What's the correct way to do this? -->
        This user is a webmaster
      {{/if}}
    {{/each}}
  </div>
</template>


我使用的是alanning:roles包,并且在服务器中,我确定要为用户发布角色字段。角色。[0]现在将返回网站管理员和职位。[1]返回admin ...但是我进一步了解添加角色将不会具有0 = webmaster和1 = admin的标准密钥。

有没有一种方法可以测试角色数组是否包含要在客户端上显示的“网站管理员”?

最佳答案

这是一个全局模板帮助器,可以帮助您解决此问题。

Template.registerHelper( 'isUserInRole', function( userId, role ) {
    return Roles.userIsInRole(userId, role);
});

<template name="allUsers">
  <div>
    {{#each user}}
      {{username}}
      {{#if isUserInRole _id 'webmaster'}}
        This user is a webmaster
      {{/if}}
    {{/each}}
  </div>
</template>


**根据第一条评论进行编辑。

09-11 23:36