Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

88
Vistas
¿Debo poner mi condición en la plantilla o presentar una plantilla diferente?

Estoy aprendiendo node js y usando el motor pug-template para crear una página simple de inicio de sesión/administración para reservas de hotel.

Cuando un usuario inicia sesión, la página de índice debe ser diferente de un usuario que no ha iniciado sesión.

¿Debo hacer una condición en mi plantilla o una condición en mi ruta de inicio para generar un index_logged o index_not_logged?

Actualmente haciendo

 app.get('/', (req, res) => { User.find({}, function(err, users) { if(err) { console.log(err); } else { res.render("index", { title: "Willkommen", users: users }); } }); });

y en mi index.pug

 extends layout block content if user h1 #{title} ul.list-group each user, i in users li.list-group-item a(href="/users/"+user._id)= user.name else .jumbotron h1 #{title} a(href="/users/login").btn.btn-primary Anmelden

Estoy usando una variable de usuario global en este momento.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si su / público es muy diferente del / registrado en la sesión, entonces represente dos vistas pug separadas, por ejemplo:

 app.get('/', (req, res) => { User.find({}, function(err, users) { if (err) { console.log(err); res.render("public_index"); } else { res.render("index", { title: "Willkommen", users: users }); } }); });

Pero si las dos páginas son muy similares con algunas partes diferentes, entonces represente la misma vista pero use if user (teóricamente puede tener esto en tantos lugares como desee en el archivo de vista) para mostrar el contenido relevante en consecuencia, como lo que tienes en index.pug en tu pregunta. La lógica de tu aplicación debe ser:

 app.get('/', (req, res) => { User.find({}, function(err, users) { let Users = undefined; if (err) { console.log(err); } else { Users = users } res.render("index", { title: "Wilkommen", users: Users }); }); });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda