0

我有这两个功能

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 告诉我它无法读取未定义的属性。如果我在控制台中查看结果或只是返回它,我可以看到它选择了正确的值,只是我无法在模板中正确显示它。有什么帮助吗?谢谢!

4

1 回答 1

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
于 2012-08-16T13:45:44.683 回答