Reputation: 1716
I'm using Node.js and Express, and I want to pass a local variable in to the layout on every page, is there any way to do this? I'm using Jade as my templating engine.
The reason I want this is because I want to display the user's username on every page (using session), any way to do this other than including it every time in the local object?
Upvotes: 5
Views: 2464
Reputation: 63673
You can achieve this by defining a dynamic view helper, as pointed out in the official Express guide:
app.dynamicHelpers({
session: function(req, res){
return req.session;
}
});
Then in your views you can simply access the session
variable, and for example session.user to display the user.
Upvotes: 8