私の meteor アプリは、mongodb を利用した node.js マイクロサービスと対話します。スキーマの 2 つのコピーを維持する必要なく、meteor アプリで autoform を使用したいと考えています。
マイクロサービス スキーマはマングースですが、autoform の simple-schema 用のトランスレータを作成するのは簡単でした。
流星への翻訳を取得するのは大変な部分でした。
まず、npm を使用するつもりでした。meteor/hacks はローカル (npm リンク) パッケージを使用できないため、これが問題であることが判明しました。
次に、browserifyを検討しました。マングースはクライアント側と互換性がないため、これは良くありませんでした。
最後に、エクスプレスで翻訳を提供することにしました。
残りの問題は、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
これについてどうすればいいですか?