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 %>
なんで?