2016-03-29 7 views
0

Ich übergebe mehrere Mitarbeiter Objekte zurückgegeben von MongoDB auf die Jade-Vorlage. Ein Mitarbeiter Objekt würde wie folgt aussehen:Verschachtelt fürEach in Jade funktioniert nicht

{ entry_time: 2016-03-26 21:05:27.108Z, 
    history: [[room1, 2016-03-26 21:05:27.108Z, 2016-03-26 21:05:27.108Z], 
      [room2, 2016-03-26 21:05:27.108Z, 2016-03-26 21:05:27.108Z]], 
    current_room: 'meeting03', 
    last_name: 'B', 
    first_name: 'A', 
    eid: '3', 
    _id: 56c6592005bb4ebfa29b6526 } 

app.js:

app.get('/find', function(req,res){ 
    return res.render('find', {data: employee}); 
}); 

Old find.jade:

- data.forEach(function(employee){ 
     - var first_name = employee.first_name 
     - var last_name = employee.last_name 
     - var current_room = employee.current_room 
     - var history = employee.history 
     li #{first_name} 
     li #{last_name} 
     li #{current_room} 
     - history.forEach(function(entry) { 
       - var room = entry[0] 
       - var entry_time = entry[1] 
       - var dept_time = entry[2] 
     -}); 
- }); 

Die obige Jade Code hat gut funktioniert, bis ich ein paar mehr hinzugefügt li Elemente in der verschachtelten ForEach Funktion:

Neue find.jade:

- data.forEach(function(employee){ 
     - var first_name = employee.first_name 
     - var last_name = employee.last_name 
     - var current_room = employee.current_room 
     - var history = employee.history 
     li #{first_name} 
     li #{last_name} 
     li #{current_room} 
     - history.forEach(function(entry) { 
       - var room = entry[0] 
       - var entry_time = entry[1] 
       - var dept_time = entry[2] 
       li #{room} // I get a warning: missing } 
       li #{entry_time} 
       li #{dept_time} 
     -}); // another warning: statement expected 
- }); 

Ich habe keine Ahnung, warum das Hinzufügen von drei li-Elementen den verschachtelten forEach brechen würde. Irgendeine Idee, wie ich das beheben sollte?

Antwort

0

änderte ich die verschachtelte forEach dazu:

for entry in history 
     - var room = entry[0] 
     - var entry_time = entry[1] 
     - var dept_time = entry[2] 
     li #{room} 
     li #{entry_time} 
     li #{dept_time} 

Es funktionierte. Hoffe, das würde jemand anderem helfen.