流星:仅在角色=='网站管理员'

时间:2016-02-02 12:02:51

标签: if-statement meteor handlebars.js roles

我想根据在页面上迭代的用户显示信息。

我有以下模板:

<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]返回管理员...但我知道更多的角色,它赢得的标准密钥为0 =网站管理员,1 =管理员。

有没有办法只测试角色数组包含网站管理员&#39;要在客户端上显示?

2 个答案:

答案 0 :(得分:0)

试试这个:

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

答案 1 :(得分:0)

这是一个帮助解决此问题的全局模板助手。

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>

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

相关问题