2017-06-14 7 views
0

Quelqu'un peut-il me dire pourquoi les messages flash ne fonctionnent pas dans mon cas?Messages flash Node.js ne fonctionne pas

Voilà comment je suis en train de l'utiliser:

Ceci est une partie de mon 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()); 

Voilà comment je suis en train de l'utiliser dans mon contrôleur:

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

Ceci est mon hbs vue où le message est censé rendre:

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

Il me réoriente avec succès à /ftp/create mais le message flash n'est pas rendu ..

Répondre

0

fixe ceci en remplaçant res.locals.errors avec res.locals.error

0

Dans votre contrôleur app.get('/ftp/create',fun..., essayez de rendre les messages flash comme,

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