req.flash не показывает сообщение - PullRequest
0 голосов
/ 27 декабря 2018

Я использую Handlebars в своем экспресс-проекте.и я использую метод req.flash (), но он не будет отображаться в моем файле hbs.

Вот мой код:

 req.flash('message','Tag already exists');
 res.redirect('/p/tags/add');  

В файле .hbs:

{{#if message}}
<h1>Tag Already ِExists</h1>
{{/if}}

Также в моем app.js:

app.use(flash());

В чем проблема?

Заранее спасибо!

1 Ответ

0 голосов
/ 27 декабря 2018

Вам необходимо использовать ваше флеш-сообщение внутри перенаправленного URL-адреса следующим образом:

app.get('/p/tags/add', function(req, res){
  res.render('yourhbsfile', { message: req.flash('message') });
});

РЕДАКТИРОВАТЬ: Таким образом, чтобы выяснить, в отношении путаницы во флеш-сообщении, его можно установить из любого местаперед перенаправлением на любой маршрут или внутри любого промежуточного программного обеспечения перед использованием res.render () и может распространить это сообщение внутри объекта req или request.Вы можете напечатать req и проверить flash объект для лучшего понимания.

...