2016-02-02 69 views
3

我想根據用戶在頁面上迭代顯示信息。流星:只顯示文字=='webmaster'

我有以下模板:

<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:角色包,並在服務器中我一直確信發佈的角色字段用戶。的作用。[0]將現在和角色返回網站管理員。[1]返回管理員...但我知道進一步添加角色,它不會有0 = webmaster和1 = admin的標準鍵。

有沒有一種方法來測試角色數組是否包含'webmaster'以顯示在客戶端上?

回答

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> 

**根據第一條評論進行編輯。

+0

與S. 19LabG最初發布的東西一樣: 這指的是當前用戶登錄。我的問題是如何顯示每個迭代用戶的角色。此代碼將顯示每個用戶都具有「網站管理員」角色,因爲我的帳戶設置爲「網站管理員」。 –

+0

哎呀對不起 - 看到我編輯的帖子。 –

+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> 
+0

這是指當前用戶登錄。我的問題是如何顯示每個迭代用戶的角色。此代碼將顯示每個用戶都具有「網站管理員」角色,因爲我的帳戶設置爲「網站管理員」。 –

+0

所以,如果我理解你的問題,你想達到陣列的特定元素。你可以嘗試找到正確的語法(我很確定在stackoverflow中有這樣的問題)以檢查特定的元素。我認爲語法是user.roles [0]或user.roles [1]。試試我將在答案中包含的代碼 – StefanL19

+0

我忘了補充一點。語法是user.roles。[1] – StefanL19