在一个控制器中,我想呈现具有特定布局的特定视图以发送包含结果字符串的电子邮件,但我显然不需要向用户显示结果。有没有办法使用我用来渲染视图的EJS引擎来实现这个目的?这是我的一点简化控制器动作:
setEmail: function(req, res) {
var update = {
activationToken: _getToken(),
email: req.param('email')
};
Profile.update(res.locals.profile.id, update).then(function(profile) {
res.redirect(profileUrl);
mailer.sendActivationEmail(
update.email,
res.i18n('Подтвердите свой адрес электронной почты'),
emailString); // <=== Here is where I need the string rendered from a view
});
},
答案 0 :(得分:7)
使用view-hook
Profile.update(res.locals.profile.id, update).then(function(profile) {
res.redirect(profileUrl);
sails.hooks.views.render("viewname",profile, function(err,html){
if(err) return console.log(err);
mailer.sendActivationEmail(
update.email,
res.i18n('Подтвердите свой адрес электронной почты'),
html
);
})
});
编辑:右回调
答案 1 :(得分:2)