Modules という名前のコレクション内の各ドキュメントに、アップロードされたファイルの配列を作成したいと考えています。次のパッケージを使用しています。
- aldeed:オートフォーム
- アルディード:コレクション2
- cfs:標準パッケージ
- cfs:グリッド
- cfs:オートフォーム
コレクションとスキーマ (関連部分):
Modules = new Mongo.Collection('modules');
Modules.attachSchema (new SimpleSchema({
slides: {
type: Array,
optional: true
},
'slides.$': {
type: Object
},
'slides.$.fileId': {
type: String,
label: "Image File"
},
'slides.$.time': {
type: Number,
label: "Time in Seconds"
}
}));
FileStore = new FS.Collection("fileStore", {
stores: [new FS.Store.GridFS("fileStore")]
});
FileStore.allow({
download: function() {
return true;
},
fetch: null
});
HTML テンプレートの場合:
{{#autoForm collection="Modules" scope="slides" id="addSlideForm" type="update-pushArray" doc=this}}
<fieldset>
{{> afQuickField name="time" type="number"}}
{{> afQuickField name="fileId" type="cfs-file" collection="fileStore"}}
</fieldset>
<button type="submit" class="btn btn-primary" >Add Slide</button>
{{/autoForm}}
送信ボタンを押すと、期待どおりに要素が配列にプッシュされます。time
値は正しいですが、期待される _id from の代わりにあるfileId
だけです。dummyId
fileStore
ネストされた配列を含まないアプリケーションの他の部分では、ファイルのアップロードは期待どおりに機能します。ファイルのアップロードを伴わないアプリケーションの他の部分では、update-pushArray
フォームは期待どおりに機能します。複雑なのは、2 つを組み合わせることです。
私はこれを間違ってやっていますか?または、cfs:autoform はupdate-pushArray
フォーム タイプと互換性がないだけですか?