我有两个功能
exports.list = function (req, res){
Material.find(function(err, materials) {
res.render('materials/list', {title: 'Pagina Materiali', materials: materials});
});
}
exports.modify = function (req, res){
Material.findById(req.params.id, function(err, materials){
res.render('materials/edit', {title: 'Pagina materiale singolo', materials: materials});
});
}
第一个正常工作,我用这个Jade片段循环它:
each material in materials
p Nome materiale: #{material.m_name} | Tipo materiale: #{material.type} |
a(href='materials/edit/#{material.id}') Modifica Materiale
但我无法让第二个工作,Express告诉我它无法读取未定义的属性。如果我在控制台中查看结果或只是返回它,我可以看到它正在选择正确的值,只是因为我无法在模板中正确显示它。 有帮助吗?谢谢!
答案 0 :(得分:1)
findById按ID查找单个文档。你试图将它作为一组对象。
在节点中你需要这样的东西:
Material.findById(req.params.id, function(err, material){
res.render('materials/edit', {title: 'Pagina materiale singolo', material: material});
});
在玉中:
p Nome materiale: #{material.m_name} | Tipo materiale: #{material.type} |
a(href='materials/edit/#{material.id}') Modifica Materiale