errorCastError: сбой приведения к ObjectId для значения «comment» в пути «comments» - PullRequest
0 голосов
/ 06 сентября 2018

Когда я отправляю форму, я продолжаю получать это (errorCastError: Cast to Ошибка ObjectId для значения "comment" в пути "comments") Надеюсь, вы получили мой вопрос правильно

Это форма запроса

action="/campground/<%= camp._id %>/comments/" method="POST">

и этот маршрут, отображающий страницу формы

app.get("/campground/:id/comments/new", function(req, res){
    Campground.findById(req.params.id, function(err, camp){
        if(err){
            console.log(err);
        } else {
            res.render("comments/new", {camp: camp});
        }
    });

});

Это маршрут поста, который создает комментарий и связывает его с кемпингом

app.post("/campground/:id/comments", function(req, res){
   Campground.findById(req.params.id, function(err, camp){
      if(err){
          console.log(err);
          res.redirect("/");
      } else {
          Comment.create(req.body.comment, function(err, comment){
              if(err){
                  console.log(err);
              } else {
                 camp.comments.push("comment");
                 camp.save();
                 res.redirect("/campground/" + req.params.id);
              }
          });
      }
   }); 
});

Приложение слушает это

app.listen(process.env.PORT, process.env.IP);

1 Ответ

0 голосов
/ 06 сентября 2018

Вы нажимаете строку, которая является "comment", пока требуется либо объект, либо только идентификатор, следующий пример может помочь вам

camp.comments.push(comment);

или

camp.comments.push(comment._id);

вместо camp.comments.push("comment");

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