2012-08-16 61 views
0

我这两个函数无法读取未定义的属性 - 的NodeJS,快速,猫鼬

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}); 
}); 
} 

第一个正常工作,并与此玉我周期是片段:

each material in materials 
    p Nome materiale: #{material.m_name} | Tipo materiale: #{material.type} | 
    a(href='materials/edit/#{material.id}') Modifica Materiale 

但我做不到没有第二个工作,Express告诉我它无法读取未定义的属性。如果我在控制台中查看结果或者只是返回它,我可以看到它正在选择正确的值,这只是我无法在模板中正确显示它。 有什么帮助吗?谢谢!

回答

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 
+0

当然!谢谢你的帮助! – 2012-08-16 14:04:18

相关问题