我想基于在页面上迭代的用户来显示信息。
我有以下模板:
<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>
**根据第一条评论进行编辑。