从EJS模板调用自定义sails.js模型

时间:2013-09-01 20:06:35

标签: javascript node.js ejs sails.js

如何在EJS-template中调用自定义模型方法?例如,假设我有这个模型:

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 %>

为什么?

0 个答案:

没有答案