2012-08-16 89 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

相關問題