meteor autoform _id field

时间:2015-06-01 21:13:55

标签: meteor meteor-autoform

我有这个架构:

Schemas = {};

Schemas.Id = {
    type: String,
    optional: true,
    label: 'Id',
    //max: ID_LENGTH,
    defaultValue : Random.id(ID_LENGTH),
    denyUpdate: true
};

Schemas.Name = {
    type: String,
    label: 'Name',
    max: 75
};

Schemas.Description = {
    type: String,
    label: 'Description',
    max: 500,
    optional: true,
    autoform: {
        rows: 5
    }
};

//-- Attribute
Schemas.Attribute = {
    _id: Schemas.Id,
    attribute_name : Schemas.Name,
    attribute_description : Schemas.Description
};

Collections.Attributes.attachSchema(Schemas.Attribute);

我收到了客户的请求,他们可以手动插入 _id 。 但autoform不能允许它, 这个模板:

<template name="pg_attr_insert">
    {{#autoForm _id="afInsertDemo" type="insert" collection=Collections.Attributes}}
        <div class="form-group {{#if afFieldIsInvalid name='_id'}}has-error{{/if}}">
            <label class="control-label">{{afFieldLabelText name='_id'}}</label>
            {{> afFieldInput name='_id'}}
            {{#if afFieldIsInvalid name='_id'}}
                <span class="help-block">{{{afFieldMessattribute_description name='_id'}}}</span>
            {{/if}}
        </div>
        <div class="form-group {{#if afFieldIsInvalid name='attribute_name'}}has-error{{/if}}">
            <label class="control-label">{{afFieldLabelText name='attribute_name'}}</label>
            {{> afFieldInput name='attribute_name'}}
            {{#if afFieldIsInvalid name='attribute_name'}}
                <span class="help-block">{{{afFieldMessattribute_description name='attribute_name'}}}</span>
            {{/if}}
        </div>
        <div class="form-group {{#if afFieldIsInvalid name='attribute_description'}}has-error{{/if}}">
            <label class="control-label">{{afFieldLabelText name='attribute_description'}}</label>
            {{> afFieldInput name='attribute_description'}}
            {{#if afFieldIsInvalid name='attribute_description'}}
                <span class="help-block">{{{afFieldMessattribute_description name='attribute_description'}}}</span>
            {{/if}}
        </div>
        <div class="form-group">
            <button type="submit" class="btn btn-primary">Add Person</button>
            <button type="reset" class="btn btn-default">Reset Form</button>
        </div>
    {{/autoForm}}
</template>

这是错误:

  

未捕获错误:每个autoForm和quickForm必须有一个“id”   属性设置为唯一字符串。

无论如何,autoform允许手动插入_id?怎么样?

1 个答案:

答案 0 :(得分:0)

我知道我的错,我创造了

{{#autoForm _id="afInsertDemo" type="insert" collection=Collections.Attributes}}

我只是将其转换为:

{{#autoForm id="afInsertDemo" type="insert" collection=Collections.Attributes}}