1

フラッシュ メッセージが表示されません。ルートでそれらを呼び出す方法は次のとおりです。

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>
<% } %>

完全に立ち往生。何か案は?

4

1 に答える 1