2015-10-09 64 views
0

我目前正在使用MongoDB,Express和Jade的項目。我們總是希望將用戶帳戶的JSON數據放入視圖中。我們寫的每一個控制器,我們都在寫簡化Express和Jade的工作流程

exports.theView = function(req, res){ 
    User.findOne({ username: req.user.username }, function(err, user){ 
     res.render('theview.jade', { user: user }); 
    }); 
} 

似乎應該有一個更好,更有效的方法來做到這一點。

有什麼建議嗎?

回答

1

我認爲你可以使用中間件來設置響應當地人(http://expressjs.com/api.html#res.locals)來設置用戶查看每個reqeust。

中間件:

app.use(function(req, res, next) { 
    User.findOne({ username: req.user.username }, function(err, user){ 
     res.locals.user = req.user; 
     next() 
    }); 
}); 

路線:

app.get('/', function(req, res, next) { 
    res.render('theview.jade', {title: 'Title'}); 
}); 

查看:

block content 
    h1= title 
    p= user.name