2017-08-15 3 views
0

私はpugコードの中に「each」を作成しようとしていますが、アプリケーションを実行した後に「プロパティの長さが未定義です」というエラーが表示されます。pug/jadeのプロパティ 'length'を読み取ることができません

これは私のパグテンプレートのコードです:

extends ../templates/default 

block content 
    - var item = []; 
    form.post(action='http://localhost:3000/users/panel', method='post') 
    img.avatar(src='/img/avatar.jpg', alt='') 
    input(type='text', name='post', value='', placeholder='Escribe algo') 
    input(type='submit', value='Publicar') 
    #card-container 
    .card 
     img.avatar(src='/img/avatar.jpg', alt='') 
     .name='@'+user.nombre 
     .date='id='+user.id 
     p.card='Hi!' 
    table 
    thead 
     tr 
     th # pub 
     th # user 
     th Publicacion 
    tbody 
     each item in items 
     tr 
      td=item.id_publicacion 
      td=item.id_user 
      td=item.publicacion 

は、これは私のコントローラです:

getPubs: function(req, res, next) { 
    var config = require('.././database/config'); 
    var db = mysql.createConnection(config); 

    db.query('SELECT * FROM publicaciones', function(err, rows, fields) { 
     res.render('panel', { 
      items: rows 
     }); 
    }); 
} 

そして最後に、これは(私が電話をかける)ルータです:

router.get('/users/pubs', controllers.UserController.getPubs); 

答えて

0

いますが、この配置する必要がありますので、「ユーザー」にあるように見えます:あなたは、このようなあなたのcontrolerにエラーハンドラを追加することができます

getPubs: function(req, res, next) { 
    var config =require('.././database/config'); 
    var db = mysql.createConnection(config); 

    db.query('SELECT * FROM publicaciones', function(err, rows, fields) { 
     res.render('users/panel', { 
      items: rows 
     }); 
    }); 
} 
0

mysql接続にエラーがあります。あなたがレンダリングで「パネル」を呼び出している

getPubs: function(req, res, next) { 
    var config =require('.././database/config'); 
    var db = mysql.createConnection(config); 

    db.query('SELECT * FROM publicaciones', function(err, rows, fields) 
{ 
    if (err) { 
     console.log(err); 
     return res.status(500).send({err: err}); 
    } 

    res.render('panel', { 
     items: rows 
    }); 
}); 
} 
関連する問題