フラッシュ メッセージが表示されません。ルートでそれらを呼び出す方法は次のとおりです。
middlewareObj.isLoggedIn = function(req, res, next){
if(req.isAuthenticated()){
return next();
}
req.flash("error", "You must be logged in to do that.");
res.redirect("/login");
};
関連する app.js の設定は次のとおりです。
var express = require("express"),
app = express(),
bodyParser = require("body-parser"),
mongoose = require("mongoose"),
passport = require("passport"),
flash = require("connect-flash");
app.use(flash());
app.use(function(req, res, next){
res.locals.currentUser = req.user;
res.locals.error = req.flash("error");
res.locals.success = req.flash("success");
next();
});
そして、私のテンプレートコードは次のようになります:
<% if(error && error.length > 1){ %>
<%console.log(error)%>
<div class="alert alert-danger" role="alert">
<%= error %>
</div>
<% } %>
完全に立ち往生。何か案は?