2017-02-11 8 views
1

플래시가 내 핸들 막대 템플릿으로 작동하려고하는데 작동하지 않습니다. (! 사용자) :핸들을 사용하여 플래시 메시지를 가져 오는 방법은 무엇입니까?

반환 완료 (null을 반환하는 경우에 나는 메시지를 (널 (null), 거짓, { '찾을 수 없습니다 사용자 메시지를})

를 표시 할 수있는 방법 , false, {message : 'Oops! Wrong password.'})

경고 상자에?

설치된 패키지 : 명시 적 연결 플래시, 표현-핸들, 여권, 여권 로컬 표현 세션, 연결 - 몽고

app.use(flash()) 

passport.use(new LocalStrategy(function(username, password, done) { 
    User.findOne({ username: username }, function(err, user) { 
    if (err) return done(err) 
     if (!user) return done(null, false, { message: 'No user found'}) 
     user.comparePassword(password, function(err, isMatch) { 
      if (isMatch) { 
      return done(null, user) 
      } else { 
      return done(null, false, { message: 'Oops! Wrong password.'}) 
      } 
     }) 
    }) 
})) 

app.post('/login', passport.authenticate('local', { 
    successRedirect: '/', 
    failureRedirect: '/login', 
    failureFlash: true 
})) 

핸들 바 템플릿 :

{{#if message}} 
<div class="alert alert-danger">{{message}}</div> 
{{/if}} 

답변

2
app.get('/login', function(req, res) { 
    res.locals.message = req.flash('message'); 
    res.render('login'); 
});