2016-07-10 2 views
0

In meiner Mongo-Datenbank habe ich Nummer, um das Statut des Mitglieds zu definieren, was ich tun möchte, ist der Name für diese Nummer, ich habe die Funktion. Aber ich weiß nicht, wie man es mit Blaze verwendet. In meinem html Ich habe dies:Wie Template Helper verwenden, um einen geänderten Wert eines Feldes der Tabelle

{{#each usersList}} 
     <tr> 
      <td contenteditable="true">{{profile.firstName}}</td> 
      <td contenteditable="true">{{profile.lastName}}</td> 
      <td contenteditable="true">{{emails.[0].address}}</td> 
      <td contenteditable="true">{{profile.statut}}</td> 
      <td contenteditable="true">{{profile.subject}}</td> 
      <td contenteditable="true">{{profile.roles}}</td> 
      </tr> 
{{/each}} 

Und in meinem js i dieses:

Template.manageMember.helpers({ 
     usersList : Meteor.users.find(), 
     'usersList.profile.statut': function(){ 
      return userRightGetNameFromId(this); 
     } 
    }); 

habe ich das:

'usersList.profile.statut': function(){ 
       return userRightGetNameFromId(this); 
      } 

Antwort

0

ich verstanden, was ich habe ich zu ist einfach das: in meinem Helfer:

userRightIdToName: function(context, options) { 
    if(context) 
    return userRightGetNameFromId(context); 
} 

Und in meinem html:

<td contenteditable="true">{{emails.[0].address}}</td> 
<td contenteditable="true">{{userRightIdToName profile.statut}}</td> 
<td contenteditable="true">{{profile.subject}}</td> 

Aber, ich habe ein letztes Problem mit meiner Funktion, es ist nicht definiert zurückgeben, was kann ich tun? Dieser Code funktioniert, habe ich die Nummer:

if(context) 
     return context; 
    } 

Meine Funktion: userRightGetNameFromId = function (id) {

$.each(USER_RIGHT, function(key, item) { 
     if (item.NUM == parseInt(id)) 
      { 

       return item.NAME; 
      } 
}); 
} 

Und meine Tabelle:

USER_RIGHT = 
    { 
     STUDENT_1: 
     { 
      NUM: 1, 
      NAME: 'First' 
     }, 
     STUDENT_2: 
     { 
      NUM: 2, 
      NAME: 'Second' 
     }, 
     TUTOR: 
     { 
      NUM: 3, 
      NAME: 'Tutor' 
     }, 
     RC: 
     { 
      NUM: 4, 
      NAME: 'RC' 
     }, 
     RM: 
     { 
      NUM: 5, 
      NAME: 'RM' 
     }, 
     RT: 
     { 
      NUM: 6, 
      NAME: 'RT' 
     }, 
     ADMIN: 
     { 
      NUM: 7, 
      NAME: 'Admin' 
     } 
    }; 

Meteor doesn‘ Warte, dass die Funktion beendet ist?