Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

750
Views
¡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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!