我正在创建一个用户个人资料部分,可以查看该用户对博客网站的评论。我目前在这段代码上收到此错误
<ul>
<% blogs.comments.forEach(function(blog) { %>
<li><a href="/blogs/<%= blog._id %>/comments/comment_id</a></li>
<% }); %>
</ul>
将用户带到页面的GET请求具有以下代码
router.get("/users/:id", function(req, res) {
User.findById(req.params.id, function(err, foundUser) {
if(err) {
req.flash("error", "Something went wrong.");
res.redirect("/");
}
Blog.find().where('author.id').equals(foundUser._id).exec(function(err, blogs) {
if(err) {
req.flash("error", "Something went wrong.");
res.redirect("/");
}
res.render("show", {user: foundUser, blogs: blogs});
})
});
});
答案 0 :(得分:1)
似乎blogs
对象没有属性comments
,在使用它之前检查它是否存在
<ul>
<% if (Array.isArray(blogs.comments)) { %>
<% blogs.comments.forEach(function(blog) { %>
<li><a href="/blogs/<%= blog._id %>/comments/comment_id</a></li>
<% }); %>
<% } %>
</ul>
答案 1 :(得分:0)
可能是blogs.comments没有值或者它不是数组。
尝试执行控制台日志以检查是否包含值数组。