SequelizeInstance对象无法在Express Handlebars视图中呈现(NodeJS,Express)

时间:2017-11-16 12:36:55

标签: node.js express sequelize.js findall

使用NodeJS,Express和Sequilize,

我在我的视图中渲染[object SequelizeInstance:Todo],当用res.render()调用时,它与实际数据实例值相反,但是当被.send调用时(参见下面的注释行),数据实例值被发送观点。

exports.test_todo_view = function(req, res) {
return Todo
    .findAll({
        //attributes: ['id'] //select fields
        })
    //.then((todos) => res.status(200).send(todos))
    .then((todos) => res.render('test/test_view', {layout: 'ca_layout.handlebars', test_data: todos}))
.catch((error) => res.status(400).send(error));
}

输出是数据库中每个条目的[object SequelizeInstance:Todo]。

任何人都可以提供建议吗?它工作,即我可以看到数据 - [{“id”:1,“title”:“fasdfsd”,“createdAt”:“2017-11-15”,...]当我使用.send(待办事项)如图所示。

我使用以下内容来调用视图。

app.get('/test/view', authCarePlan.test_todo_view);

我的.handlebars文件看起来像这样

<div>test_data:{{test_data}}</div>

我希望查询输出以test_data

的形式出现

1 个答案:

答案 0 :(得分:0)

.handlebars视图中需要以下配置

{{#test_data}}
{{title}}
{{/test_data}}

其中test_data是变量占位符的名称,title是其中字段的名称。