我的meteor app与mongodb支持的node.js微服务进行交互。我想在meteor应用程序上使用autoform而不必维护两个模式副本。
微服务模式是mongoose,但是为autoform的简单模式编写翻译器是直截了当的。
将翻译变成流星一直是个难点。
首先,我打算使用npm。这被证明是一个问题,因为流星/黑客不能使用本地(npm链接)包。
然后,我考虑了browserify。这并不好,因为猫鼬不是客户端兼容的。
最后,我决定用express来提供翻译。
剩下的问题是我需要在autoform尝试渲染之前附加带有collection2的模式。
我将HTTP请求放在Meteor.method中。如何/在哪里调用attachSchema()使其在尝试渲染之前发生?
这就是我的尝试:
onBeforeAction: function () {
var self = this;
Meteor.call('fetchSchema', 'ModelName', function (err, schema) {
ModelName.attachSchema(new SimpleSchema(schema));
self.next();
});
}
我收到此错误:
Exception in delivering result of invoking 'fetchSchema': TypeError: object is not a function
我该怎么做呢?