проблема с передачей параметров (контекста) в шаблоне Jade - PullRequest
0 голосов
/ 26 марта 2019

в своем почтовом запросе я передаю некоторые переменные в шаблоне jade для отображения некоторых ошибок проверки формы, но после этого каждый раз, когда я отправляю запрос get на эту страницу, эти ошибки будут появляться снова!это для системы комментирования в моем блоге

router.get('/:id',function(req,res){
    var id = req.params.id;
    Post.findOne({_id:id},function(err,post){
       if (err) throw err;
       if (!post) res.sendStatus(404);
       Comment.find({postId:id},function(err,comments){
         res.render('post',{post:post,comments:comments});
       });
    });
});


router.post('/:id',function(req,res){
   var id = req.params.id;
   Post.findOne({_id:id},function(err,post){
       if (err) throw err;
       if (!post) res.sendStatus(404);
       Comment.find({postId:id},function(err,comments){

          email = req.body.email;
          name=req.body.name;
          commentBody=req.body.body;

          //form validation 
          req.checkBody('name','title is empty').notEmpty();
          req.checkBody('body','post body is empty').notEmpty();
          req.checkBody('email','email is empty').notEmpty();
          req.checkBody('email','please enter a valid email                         address').isEmail();


        errors = req.validationErrors();
        if (errors){
            res.render('post',                                                                                                                       {errors:errors,post:post,comments:comments})
        }
        else{
            newComment = new Comment({
                name:name,
                email:email,
                body:commentBody,
                postId:id,
                date:Date.now()


            });
            newComment.save();
            req.flash("success","Comment submitted successfully")

            res.redirect('');
        }
    });
});
});  

кажется, что она не очищает переменную "ошибки" после рендеринга.

и наоборот, когда я использую переменную "messages ()" для отображения моих флеш-сообщений, как только они как-то исчезнут!

например, если я использую приведенный ниже код в своем шаблоне Jade, он не покажет сообщения

if messages()
      !{messages()}

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

необходимо использовать оператор if, потому что я хочу показывать сообщения в окне сообщений.

...