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

770
Vistas
¡Resuelto! Manillar: se ha denegado el acceso para resolver la propiedad "nombre" porque no es una "propiedad propia" de su padre Fijo

Estoy tratando de obtener los detalles ingresados por el usuario en los campos del formulario para poder editar y actualizar los registros seleccionados. Pero, cuando hago clic en el botón Editar, obtengo campos de formulario en blanco en el formulario.

 router.get('/list', (req, res) => { Employee.find((err, docs) => { if (!err) { res.render("employee/list", { list: docs, }); } else { console.log('Error in retrieving employee list :' + err); } }); })

No soy capaz de conseguir lo que salió mal. He pasado el valor ingresado por el usuario como req.body . Todas las operaciones funcionan correctamente, pero no se pudieron actualizar los registros porque no puedo obtener la identificación de usuario del formulario.

 <tbody> {{#each list}} <tr> <td>{{this.name}}</td> <td>{{this.email}}</td> <td>{{this.mobile}}</td> <td>{{this.city}}</td> <td> <a href="/employee/{{this._id}}"><i class="fa fa-pencil fa-lg" aria-hidden="true"></i></a> <a href="/employee/delete/{{this._id}}" onclick="return confirm('Are you sure to delete this record ?');"><i class="fa fa-trash fa-lg" aria-hidden="true"></i></a> </td> </tr> {{/each}} </tbody>
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

si está utilizando mongoose y versiones más nuevas de express-handlebars, puede resolverse usando el método lean() después de find() como:

 router.get('/list', (req, res) => { Employee.find((err, docs) => { if (!err) { res.render("employee/list", { list: docs, }); } else { console.log('Error in retrieving employee list :' + err); } })**.lean()**; // It is prevent the warning when trying to display records

})

---------------- Otra opción que puedes seguir ----------------------------

express-handlebars no le permite especificar opciones de tiempo de ejecución para pasar a la función de plantilla. Este paquete puede ayudarlo a deshabilitar las comprobaciones de prototipos para sus modelos.

Pasos:

1 - Dependencia de instalación

 npm i @handlebars/allow-prototype-access

2 - Use este fragmento como ejemplo para reescribir su servidor express

 const express = require('express') const path = require('path') **const Handlebars = require('handlebars')** **const hbs = require('express-handlebars');** const bodyParser = require('body-parser'); **const { allowInsecurePrototypeAccess } = require('@handlebars/allow-prototype-access');** const employeeController = require('./controller/employeeController') const app = express() app.use(bodyParser.urlencoded({ extended: true })) app.use(bodyParser.json()) app.set('views', path.join(__dirname, '/views/')) app.engine('hbs', hbs({ extname: 'hbs', defaultLayout: 'mainLayout', layoutsDir: __dirname + '/views/layouts/', **handlebars: allowInsecurePrototypeAccess(Handlebars)** })) app.set('view engine', 'hbs') app.listen(3000, () => { console.log('Server started at port 3000') }) app.use(employeeController)

3 - Ejecuta el servidor y haz tu baile feliz.

over 4 years ago · Santiago Trujillo Denunciar

0

Si está usando MySQL, haga una secuencia, use opciones de consulta sin formato {raw: true} y si está usando relaciones, puede usar {nest: true} , por ejemplo:

 users = await User.findAll({ where: { username: "SimonAngatia" }, include: [{ model: Tweet, as: "Tweets" }], raw: true, nest: true, }).catch(errorHandler);

consulte aquí: Secuela, convierta la entidad en un objeto simple

over 4 years ago · Santiago Trujillo Denunciar

0

Puede personalizar documentos antes de la transmisión de datos.

 router.get('/list', (req, res) => { Employee.find((err, docs) => { if (!err) { docs= docs.map(item=> item.toObject()) res.render("employee/list", { list: docs, }); } else { console.log('Error in retrieving employee list :' + err); } }); })
over 4 years ago · Santiago Trujillo 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