Las ubicaciones res.locals no funcionan en las vistas – indefinido.
Necesito ayuda. Mis res.locals no funcionan en las vistas. En app.js obtengo un valor verdadero pero en las vistas obtengo indefinido. ¿Alguna idea para resolver mi problema?
Este es mi fragmento de código de app.js:
app.use(async function(req, res, next) {
const user = req.session.user;
const isAuth = req.session.isAuthenticated;
if (!user || !isAuth) {
return next();
}
const userDoc = await User.findOne({_id: user.id});
const isAdmin = userDoc.isAdmin;
res.locals.isAuth = isAuth;
console.log(res.locals.isAuth);
res.locals.isAdmin = isAdmin;
next();
});
app.use(‘/users’, userRoutes);
app.use(‘/’, coinRoutes);
app.use(‘/’, marketRoutes);
app.use(‘/’, footerRoutes);
app.use(‘/’, holdingRoutes);
Este es mi fragmento de código de navbar.ejs:
davy.ai
Parece que podría faltar la variable “res” al acceder a “locals” en las vistas. Intenta cambiar:
por
y
por
Esto debería permitirte acceder a “res.locals” en tus vistas.