我正在尝试迭代用户列表并将其返回到模板引擎。由于某种原因,我收到一个错误,即对象不可迭代。
这是我的 Controller :
const Bug = require('../models/bugs');
const bodyParser = require('body-parser');
const User = require('../models/user');
exports.getAddBug = (req, res, next) =>{
res.render('add-bug', {
pageTitle: 'Add a bug',
path: '/add-bug',
user: req.session.user.fullName,
allUsers : User.find()
}
)};
有一个 EJS 文件,所有用户值都将传递到该文件:
<ion-item>
<% for (let user of allUsers) { %>
<ion-label>Assigned to</ion-label>
<ion-select name="assignedTo" placeholder="Select One">
<ion-select-option selected value="<%= user.fullName%>"><%= user.fullName%></ion-select-option>
</ion-select>
<% } %>
</ion-item>
最佳答案
返回你的 User.find() 一个 promise ?如果是这样,请将 getAddBug 设为异步函数并等待 User.find(),如下所示:
exports.getAddBug = async (req, res, next) =>{
res.render('add-bug', {
pageTitle: 'Add a bug',
path: '/add-bug',
user: req.session.user.fullName,
allUsers : await User.find()
}
)};
我希望这有帮助。
关于javascript - 将值从 Controller 传递到模板引擎 - MVC 和 EJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59051349/