Я создаю веб-сайт, на котором пользователи могут создавать сообщения, комментировать, голосовать и т. Д. Я закончил с показом и созданием сообщений, однако у меня возникли небольшие проблемы при отправке новых комментариев.
Это код, который должен быть выведен:
<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);
}
});
}
});
});
Буду очень признателен, если кто-нибудь сможет мне помочь с этим. Большое спасибо за ваше время.