使用时
AppointmentService.getAppointmentObject(req.params.id)
.then((response) => {
sails.hooks.views.render('report', { appointment: response }, (err, html) => {
if (err) return res.send(500, err);
return res.send(200, html);
})
})
.catch(err => res.status(err.status || 500).send(err.message));
我的HTML渲染,约会未定义。
使用时
AppointmentService.getAppointmentObject(req.params.id)
.then((appointment) => {
res.view('report', {
appointment,
});
})
.catch(err => res.status(err.status || 500).send(err.message));
我的HTML渲染,一切按预期工作。
我已经阅读了钩子source code,它应该将我的选项(因此我的约会)暴露为本地人。
我也尝试了以下内容:
sails.hooks.views.render('report', appointment, function(err, html)) // passing my object in directly
sails.hooks.views.render('report', { appointment }, function(err, html)) // es6 shorthand property
我需要钩子工作的原因是因为我需要访问HTML才能将它保存到我的S3存储桶中。
答案 0 :(得分:1)
我认为它应该是css
而不是sails.hooks.http.app.render
。
sails.hooks.views.render
答案 1 :(得分:0)
我通过使用res.render而不是res.view解决了这个问题,这让我可以访问html。
AppointmentService.getAppointmentObject(req.params.id)
.then((response) => {
res.render('report', { appointment: response }, (err, html) => {
// I can access the html here
res.send(200, html);
});
})
.catch(err => res.status(err.status || 500).send(err.message));