#node.js #express #handlebarshelper
Вопрос:
Я получаю сообщение об ошибке:
Руль: Доступ был запрещен для разрешения свойства «статус», поскольку оно не является «собственным свойством» своего родителя. Вы можете добавить опцию времени выполнения, чтобы отключить проверку или это предупреждение:
Мой код выглядит так:
var hbs = require('express-handlebars');
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.engine('hbs', hbs({
extname: 'hbs',
deafultLayout: 'layout',
layoutsDir: __dirname '/views/layouts/',
partialsDir: __dirname '/views/partials'
}, {
allowProtoMethodsByDefault: true,
allowProtoPropertiesByDefault: true
}));
Ответ №1:
Настройка механизма просмотра выполнена правильно. Проблема в том, как вы отрисовали свой файл.
Случай 1
Он status
должен находиться внутри отправляемого родительского объекта.
Не делай этого:
res.render('fileName', {data:status})
Сделайте это вместо этого:
const myObject = {status: your_data}
res.render('fileName', {myObject:myObject})
и сделайте что-нибудь подобное в своем файле на руле
<p>{{myObject.status}}</p>
Случай 2
Если вы пытаетесь извлечь данные из MongoDB/Мангуста, чтобы отобразить их во внешнем интерфейсе, просто добавьте .метод lean() после .find()
const data = await ModelName.find({}).lean()
Комментарии:
1. я действительно не понял вашего комментария. я пытаюсь отобразить req.body в консоли. тогда я получаю эту ошибку. данные поступают из формы. пожалуйста, помогите