Как отображать комментарии в посте. с узлом express и mongodb - PullRequest
0 голосов
/ 17 января 2020

my showpost.ejs этот файл отображает одну запись с комментариями к этой записи. onepost - это один пост variable, содержащий post

<% if(onepost) { %>

  <form action="/post/<%=onepost.id%>/comment" method="POST">
     <textarea name="content"
        rows="10" cols="50">Write something here
     </textarea>
     <input type="submit" value="Post comment">
     </form>
<% } %>

<% onepost.comments.forEach(com => { %>
    <ul>
        <li><%= com.content %></li>
    </ul>
<% });%>

, и это мой индекс. js file

router.post("/post/:id/comment", async (req, res) => {
     // Find post
   const post = await Post.findOne({_id: req.params.id});

    // create a comment
  const comment = new Comment();
  comment.content = req.body.content;
  comment.post = post._id;
  await comment.save();

    // Associating post with comments

  post.comments.push(comment._id);
  await post.save();
  res.send(comment);

});

Я хочу comments отображать под каждым post, чтобы при нажатии на post отображался тот comments, который был создан и связан с ним. comment создается без каких-либо проблем и отображается на консоли, моя проблема сейчас в том, что он не отображается в браузере. Мой фон Ruby в Rails, но я недавно начал самостоятельно изучать Node и express, следуя примерам на YouTube и переполнению стека. Пожалуйста, мне нужна помощь по отображению comments в View, я не знаю, как правильно вызывать комментарии к посту, к которому они прикреплены.

1 Ответ

1 голос
/ 17 января 2020

Вместо того, чтобы делать res.send, вам нужно сделать это так:

res.render('showpost', {
  comment 
});

Я предполагаю, что у вас есть файл showpost.ejs в папке views. И теперь, чтобы отобразить этот комментарий, вы можете сделать следующее в showpost.ejs:

<ul>
  <li><%= comment.content %></li>
</ul>

Если вы передаете массив комментариев, вы можете l oop выбросить и отобразить их. Здесь я показал вам, как вы можете сделать один комментарий, который вы сохраняете. Надеюсь, это поможет вам.

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