2017-06-14 15 views
0

誰かが私のケースでフラッシュメッセージがうまくいかない理由を教えてもらえますか?Node.jsフラッシュメッセージが機能しない

これは私がそれを使用しようとしている方法です:

これは私の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

があなたのapp.get('/ftp/create',fun...コントローラでres.locals.error

0

res.locals.errorsを交換することによって、これを修正し、同様のフラッシュメッセージをレンダリングしようと

resp.render('view_fle',{ 
error:req.flash('error') 
...... 
.... 
関連する問題