3

如何在 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 %>

为什么?

4

0 回答 0