在模板助手中获取异常:使用 aldeed:autoform 的 quickFormContext

Getting Exception in template helper: quickFormContext with aldeed:autoform

我遇到了 aldeed:autoform 的问题,我无法解决,也不明白是什么原因。模板:

<template name="staffCaseEdit">
  {{> quickForm collection=Cases id="inserNewItem" type="insert"}}
</template>

我用aldeed:collection2 and aldeed:simple-schema来管理collection。所以,我有 Case 模式和 Cases collection,它们都在 /lib 中定义,所以它们也应该在客户端可用。

接下来是路线:

FlowRouter.route('/staff/case/:id', {
    triggersEnter: [
        AccountsTemplates.ensureSignedIn
    ],
    subscriptions: function (params) {
        this.register('theCase', Meteor.subscribe('theCase', params.id));
    },
    action: function (params, queryParams) {
        return BlazeLayout.render('container', {
            main: 'staffCaseEdit',
            id: params.id
        });
    }
});

当然,theCase 已发布:

Meteor.publish('theCase', function (id) {
    return Cases.find({
        id: Number(id)
    });
});

在浏览器控制台中,存在案例:

> Cases
< Object

> Cases.find().count()
< 1

我建议这足以让 quickForm 正确使用 collection(它需要一个作为参数之一)。

问题是,在客户端,我遇到了错误

Exception in template helper: quickFormContext@http://localhost:3000/packages/aldeed_autoform.js?b0918af3b0bb0ae387d80c71f4230daca94cae11:6851:34

我无法追踪。结果,没有显示任何表格(实际上,整个 DOM 留空。

我应该寻找什么?这个特定问题的根源可能是什么?

这里有点摸不着头脑,我不知道它是否能解决你的问题,但肯定会有所帮助......使用这个:

<template name="staffCaseEdit">
  {{> quickForm collection="Cases" id="inserNewItem" type="insert"}}
</template>

您正在将变量 Cases 传递给集合参数,而不是将其传递给目标集合的名称 "Cases"