我正在创建一个网站,用户可以在其中创建帖子,评论,投票等。我已经完成了显示和创建帖子的工作,但是,在提交新评论时遇到了一些麻烦。
这是应该输出的代码:
<p>
<a href="/posts/<%=post._id%>/comments/new">Add new comment</a>
</p>
<p><%=post.title%></p>
<p><%=post.description%></p>
<% post.comments.forEach(function(comment){ %>
<p><%=comment.author%> - <%=comment.text%></p>
<% }); %>
代码工作正常;但是,提交评论时,提交的唯一内容是 <%= comment.author%> 和 <%comment.text%> 之间的“-”
这是应该提交新评论的表格
<h1>Create a new comment to <%=post.title%></h1>
<form action="/posts/<%=post._id%>/comments" method="POST">
<input type="text" name="comment[text]" placeholder="text">
<input type="text" name="comment[author]" placeholder="text">
<button>Submit</button>
</form>
这是app.js文件中的相关代码:
app.get("/posts/:id/comments/new", function(req, res){
Post.findById(req.params.id, function(err, post){
if (err){
console.log(err);
} else {
res.render("comments/new", {post: post});
}
});
});
app.post("/posts/:id/comments", function (req, res){
Post.findById(req.params.id, function(err, post){
if(err){
console.log(err)
redirect("/posts");
} else{
Comment.create(req.body.Comment, function(err, comment){
if (err){
console.log(err);
} else{
post.comments.push(comment);
post.save();
res.redirect("/posts/" + post._id);
}
});
}
});
});
如果有人能够帮助我,将不胜感激。非常感谢您的宝贵时间。