Node.js的flash讯息不能正常工作

问题描述:

有人可以告诉我为什么flash讯息不适用于我的情况吗?Node.js的flash讯息不能正常工作

这是我想要使用它:

这是我app.js的一部分:

var express = require('express'); 
var app  = express(); 
var passport = require('passport'); 
var flash = require('connect-flash'); 

var session   = require('express-session'); 
var exphbs   = require('express-handlebars'); 
var passport   = require('passport') 
var RedisStore  = require('connect-redis')(session) 
var redis   = require('redis').createClient(); 

app.use(session({ 
    secret: "I can haz working sessions?", 
    store: new RedisStore({ client: redis }) 
})); 

app.use(flash()); 
app.use(function(req, res, next){ 
    res.locals.success = req.flash('success'); 
    res.locals.errors = req.flash('error'); 
    next(); 
}); 

app.use(passport.initialize()); 
app.use(passport.session()); 

这是我怎样,我想在我的控制器使用方法:

module.exports.storageCreatePost = function(req, res) { 
    req.flash('error', "Test"); 
    res.redirect('/ftp/create'); 
}) 

这是我hbs图,其中应该的消息,以呈递:

{{#if error}} 
    <p class="alert alert-warning">{{error}}</p> 
    {{/if}} 

它成功地重定向我/ftp/create但闪光灯消息不渲染..

res.locals.error

更换res.locals.errors在你app.get('/ftp/create',fun...控制器解决了这个问题,尽量使闪存的消息一样,

resp.render('view_fle',{ 
error:req.flash('error') 
...... 
....