如何在 EJS 模板中调用自定义模型方法?例如,假设我有这个模型:
module.exports = {
attributes = {
bar: {
type: 'string'
},
foo: function() {
return 'It has got to be ' + this.bar;
}
}
};
现在,在我的控制器中,我使用 passport.js 来验证客户。完成后,我想将用户模型存储到会话中。这可行,但我无法访问自定义方法:
module.exports = {
login: function(req, res) {
passport.authenticate('local', function(err, user, info) {
...
req.logIn(user, function(err) {
req.session.user = user; // Has all the attributes, except functions.
console.log(user.foo()); // Works!
});
})(req, res);
}
};
但是,正如我所说,这在 EJS 模板中不起作用:
<%= user.foo() %>
但这将:
<%= user.bar %>
为什么?