如何通过Meteor中的隐藏字段将_id传递给autoForm?

时间:2015-10-31 14:50:58

标签: javascript meteor meteor-autoform meteor-collection2 simple-schema

我有一组项目和Meteor.users集合。我的目标是将项目的文档_id添加到用户名。

HTML:

<template name="insertName">
    {{#each projectList}}
        {{> projectView}}
    {{/each}}
</template>

<template name="projectView">
    {{#autoForm collection="Meteor.users" id="insertUser" type="insert"}}
         {{> afQuickField name="username"}}
         // From here I can access the _id property from the projects collection
         // Question: How do I pass it to my form without creating an input field?
    {{/autoForm}}
</template>

JS:

Meteor.users = new Meteor.Collection('projects');
Meteor.users.attachSchema(new SimpleSchema({
    username: {
        type: String,
        max: 50
    },
    projectId: {
        type: String,
        max: 20
        // Use autoValue to retrieve _id from projects collection?
    }
});

使用上面的HTML代码,我知道我可以这样写:

{{> afQuickField name='projectId' value=this._id}}

然而,这会创建一个我不想要的输入字段。如何在没有可见输入字段的情况下将_id传递给我的autoForm?或者有人可以指出我的方向不同?

2 个答案:

答案 0 :(得分:3)

有多种方法可以解决此问题,但基本上,如果您需要隐藏字段,则必须将autoform字段的类型设置为隐藏。

您可以这样做:

true

或在架构本身上执行此操作

{{> afQuickField name='projectId' value=this._id type='hidden'}}

答案 1 :(得分:1)

我不相信这是最好的解决方案,但我已经看到这是一种方法来解决你遇到的问题:

{{> afQuickField name='projectId' value=this._id type='hidden'}}