es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Qué significa objeto objeto objeto?

Estoy tratando de crear un diario pero no puedo hacerlo funcionar. Estoy intentando hacer un bucle for que muestra las publicaciones que compongo, en un array en la página de inicio. No encuentro la conexión entre el archivo de la aplicación y el archivo ejs porque las entradas aparecen cuando las registro en la terminal. Simplemente no puedo hacer que aparezcan en la página de inicio. Solo quiero que aparezca el título de la entrada, pero sigo obteniendo [object Object],[object Object],[object Object] y no entiendo por qué.

<h1>Inicio</h1>
<p> <%= contenidoInicial %> </p>
<%- console.log(posts);-%>
<ul>
<% posts.forEach(function(post, i) { %>
 <li>Publicaciones <%= posts %> </li>
<% }); %> 
</ul>
const posts = [];

app.get("/", (req, res) => {
  res.render("home", { contenidoInicial: contenidoInicio , posts:posts});
  posts: [
{posts: posts},
{posts: posts}
  ]
  //console.log(posts);
});
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Basándonos en los fragmentos de código proporcionados, parece que el problema radica en el uso de posts en el bucle forEach en el archivo EJS.

    En lugar de <%= posts %> en la etiqueta li, debería ser <%= post.title %> asumiendo que el objeto post tiene una propiedad title.

    Por lo tanto, el bucle corregido en el archivo EJS debería ser:

    <% posts.forEach(function(post, i) { %>
        <li><%= post.title %></li>
    <% }); %>
    

    Además, el array posts está vacío cuando se define inicialmente en el archivo de la aplicación. Por lo tanto, no habrá ningún título para mostrar en el bucle hasta que se agregue una nueva publicación al array posts.

    Para agregar una nueva publicación al array, deberá crear una ruta en su archivo de aplicación que maneje el envío de un formulario por parte del usuario.

    Por ejemplo, podría tener un formulario en una página de nueva publicación que envía una solicitud POST a su servidor con los datos de la publicación. El servidor luego agregaría el nuevo objeto de publicación al array posts y redirigiría al usuario a la página de inicio donde la nueva publicación debería mostrarse ahora en el bucle.

    La implementación exacta de esta lógica dependerá de sus requisitos específicos y la estructura de su aplicación.

Comments are closed.