我试图制作一个"每个"在我的哈巴狗代码中,但在运行应用程序后,我得到一个错误说"无法读取属性'长度'未定义"。
这是我的哈巴狗模板代码:
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 :(得分: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
});
});
}
答案 1 :(得分:0)
您正在打电话"小组"在渲染中,它看起来像是"用户"所以你必须把这个:
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
});
});
}