2016-07-30 2 views
0

Я использую рули в качестве механизма просмотра.Handlebars + паспорт js

Для маршрутов:

app.get('/', function(req, res) { 
    if(req.user) {res.render('user'), {name:req.user.username, id:req.user.id}} 

    else 

    if(!req.user) {res.render('index')}; 

}); 

Для passport.js

passport.serializeUser(function(user, done) { 
    done(null, user.id); 
}); 


passport.deserializeUser(function(id, done) { 
    connection.query("SELECT * FROM users WHERE id = ? ",[id], function(err, rows){ 
     done(err, rows[0]); 
    }); 
}); 


passport.use(
    'local-signup', 
    new LocalStrategy({ 

      usernameField : 'username', 
      passwordField : 'password', 
      passReqToCallback : true 
     }, 
     function(req, username, password, done) { 
      // find a user whose email is the same as the forms email 
      // we are checking to see if the user trying to login already exists 
      connection.query("SELECT * FROM users WHERE username = ?",[username], function(err, rows) { 
       if (err) 
        return done(err); 
       if (rows.length) { 
        return done(null, false, {message: 'That username is already taken'}); 

        } else { 

        var newUserMysql = { 
         username: username, 
         password: bcrypt.hashSync(password, null, null) // use the generateHash function in our user model 
        }; 

        var insertQuery = "INSERT INTO users (username, password) values (?,?)"; 

        connection.query(insertQuery,[newUserMysql.username, newUserMysql.password],function(err, rows) { 
         newUserMysql.id = rows.insertId; 

         return done(null, newUserMysql); 
        }); 
       } 
      }); 
     }) 
); 

Я пытаюсь найти решение, но оно не работает. Всякий раз, когда я пытаюсь использовать это, руля ничего не покажут. Я знаю, что ejs использует что-то вроде <% = user.username%>, который действительно работает, но не может преобразовать его в руль.

ответ

0

Я понял это до конца, мой объект {} был вне(), а не внутри, как предполагалось. Это правильный код:

if(req.user) {res.render('user', {name:req.user.username, id:req.user.id})} 
Смежные вопросы