Форма POST не отправлена ​​должным образом. (NodeJS & Express) - PullRequest
0 голосов
/ 30 августа 2018

Я создаю веб-сайт, на котором пользователи могут создавать сообщения, комментировать, голосовать и т. Д. Я закончил с показом и созданием сообщений, однако у меня возникли небольшие проблемы при отправке новых комментариев.

Это код, который должен быть выведен:

<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);
                }
            });
        }
    });
});

Буду очень признателен, если кто-нибудь сможет мне помочь с этим. Большое спасибо за ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...