【发布时间】:2014-03-04 22:32:33
【问题描述】:
我对 JavaScript 编程比较陌生,所以这个问题可能有一个简单的解决方案。通过使用 Sails.js,我创建了这个模型。
module.exports = {
tableName: 'FOO_TABLE',
attributes: {
FOO: 'string',
BAR: 'number',
BAR2: function() {
return this.BAR + 1;
}
},
};
然后,在控制器中我得到所有实例:
FOO_MODEL.find().exec(function(err, FOOS) {
return res.view({data: JSON.stringify(FOOS)});
});
问题是在 FOOS 内部,它不是 BAR2 方法。我提供了这个解决方案(使用 Underscore.js):
FOOS = _.map(FOOS, function(FOO){ FOO.BAR2 = FOO.BAR2(); return FOO; });
但我不认为它高效/智能,因为我想我可能会再次发现这个问题。你会怎么做?谢谢
【问题讨论】:
-
您能否详细说明您要完成的工作?此外,您的
BAR2实例方法可能不是您想要的 - 它当前将“1”添加到函数对象 (this.BAR2)。 -
对不起,我打错了,现在已经修复了。我想以 JSON 格式发送所有实例的键值对,包括从方法中获得的那些。
标签: javascript node.js sails.js