Это произойдет, когда переменные success_messages
и error_messages
равны truey .Обратите внимание на документацию MDN, что пустые массивы и пустые объекты все еще будут оцениваться как истинные в операторе if.
В вашем маршруте добавьте эти две строки, и вы увидите, что именно вы передаете в шаблон.Если это выглядит как []
или {}
, тогда оператор if в pug пройдет проверку на достоверность, и эти div-ы будут отображать пробелы.
console.log( 'success_messages is ' + JSON.stringify(success_messages) );
console.log( 'error_messages is ' + JSON.stringify(error_messages) );
Это можно исправить, добавив тест длины в шаблон(Я предполагаю, что вы получаете массив из connect-flash):
if success_messages.length > 0
.alert.alert-success=success_messages
if error_messages.length > 0
.alert.alert-danger=error_messages
Это явный тест, который не отступает от истинности, которая иногда может дать неожиданные результаты.