2016-11-21 6 views
0

2つのモデル(復活と起動)があります。私は両方をループしたいとここに1つのビュー(index.ejs)索引ページでEJSを使用してエクスプレスで複数のモデルからデータをループ表示する方法

上のデータを表示していましインデックスのためのルータである:

var express = require('express'); 
var router = express.Router(); 

var Revive = require('../models/revive'); 
var Launch = require('../models/launch'); 

/* GET home page. */ 
router.get('/', function(req, res, next) { 
    Revive.find({}, function (err, revives) { 
    if(err) { 
     console.log(err) 
    } else { 
     res.render('pages/index', {revives: revives}); 
    } 
    }); 
    Launch.find({}, function (err, launches) { 
    if(err) { 
     console.log(err) 
    } else { 
     res.render('pages/index', {launches: launches}); 
    } 
    }); 
}); 

そして、ここでは、ビュー(index.ejs)です。

すべてのための
<% revives.forEach(function(revive) { %> 

    <div class="copy"> 
     <p class="secondary">8.7/10 • Animation, Comedy</p> 
     <h3 class="ellipsis"><h4><%= revive.reviveShowName %></h4></h3> 
    </div> 

<% }); %> 

<% launches.forEach(function(launch) { %> 

    <div class="copy"> 
     <p class="secondary">8.7/10 • Animation, Comedy</p> 
     <h3 class="ellipsis"><h4><%= launch.launchShowName %></h4></h3> 
    </div> 

<% }); %> 

私は一つだけをループすることが可能だと、すぐに私はそれがヘッダーエラースロー第二のループ追加すると、正常に表示しながら「起動が定義されていません...」

答えて

0

迅速かつ汚いソリューションw同じ問題に遭遇した:

router.get('/', function(req, res, next) { 
    Revive.find({}, function (err, revives) { 
    if(err) { 
     console.log(err) 
    } else { 
     Launch.find({}, function (err, launches) { 
     if(err) { 
      console.log(err) 
     } else { 
      res.render('pages/index', {revives: revives, launches: launches}); 
     } 
     }); 
    } 
    }); 
}); 
関連する問題