2017-06-14 58 views
0

有人可以告訴我爲什麼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但閃光燈消息不渲染..

回答

0

res.locals.error

0

更換res.locals.errors在你app.get('/ftp/create',fun...控制器解決了這個問題,儘量使閃存的消息一樣,

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