我一直在寻找解决方案,并且会喜欢任何解决方案或建议。
根据this how to node tutorial,我正在使用node.js,express和mongo db构建一个非常简单的博客。我这样做是为了更好地理解节点,因为我还不是很精通。
我遵循所有说明,考虑到版本的差异,一切都运行良好,直到我到达教程中的标题“A View to Kill”,我将一些虚拟数据发送到要渲染的玉文件。
如果我将代码留在app.js文件中,因为没有传递jade文件:
var articleProvider= new ArticleProvider();
app.get('/', function(req, res){
articleProvider.findAll(function(error, docs){
res.send(docs);
});
})
app.listen(3000);
我得到了数据对象的渲染。
但是当我传入要渲染的玉文件时,我收到错误:
TypeError: Cannot read property 'length' of undefined
...指的是我的玉文件(第3行)中的每个循环,在这里:
h1= title
#articles
- each article in articles
div.article
div.created_at= article.created_at
div.title
a(href="/blog/"+article._id)!= article.title
div.body= article.body
Here is the link对整个该死的东西的g ..非常感谢任何帮助!
答案 0 :(得分:1)
articles
引用未定义。尝试将渲染代码更改为以下内容:
app.get('/', function(req, res){
articleProvider.findAll(function(error, docs){
res.render('index.jade', {
articles: docs
});
});
});