У меня есть коллекция, которая обрабатывает значения по умолчанию для форм. Мне нужно создать пользовательский интерфейс, чтобы обновлять значения по умолчанию сами, вместо того, чтобы обновлять силу через mongo.Обновить форму в методе с использованием autoform
Я использовал обновление aldeed - каждая функциональность. Данные извлекаются из БД и отображаются в таблице. Однако, когда я пытаюсь обновить, вводя новые значения в текстовое поле, он не сохраняется. Фактически, он продолжает бросать эту ошибку, о которой я не знаю.
Exception in template helper: TypeError: Cannot read property 'namedContext' of undefined
at Object.autoFormFieldIsInvalid
В качестве примера, вот что я работаю с:
Монго Коллекция:
meteor:PRIMARY> db.testCollection.find()
{ "_id" : ObjectId("577ccd87f57f43d790c3ec49"), "schemaName" : "test_schema", "label" : "test_lable", "value" : "test_value" }
Схема:
test_schema = new SimpleSchema({
"schemaName": {
type: String,
},
"label": {
type: String,
},
"value": {
type: String,
}
});
testCollection.attachSchema(test_schema);
Te mplate:
<template name = "testTemplate">
<table class="table table-bordered table-condensed">
<thead>
<tr>
<td style="width: 85px">Schema Name</td>
<td style="width: 85px">Label</td>
<td>Default Value</td>
<td style="width: 250px">New Default Value</td>
</tr>
</thead>
<tbody>
{{#each items}}
<tr>
<td>{{this.schemaName}}</td>
<td>{{this.label}}</td>
<td>{{this.value}}</td>
<td>
{{#autoForm id=updateDefaiultsID type="update" collection=testCollection doc=this autosave=true}}
{{> afFormGroup name="value" label=false}}
{{/autoForm}}
</td>
</tr>
{{/each}}
</tbody>
</table>
</template>
Helper
import { Template } from 'meteor/templating';
import '../templates/testTemplate.html';
if (Meteor.isServer) {
Meteor.publish(null, function() {
return testCollection.find();
});
testCollection.allow({
update: function() {
return true;
}
});
}
else if (Meteor.isClient) {
Template["testTemplate"].helpers({
items: function() {
return testCollection.find({}, {sort: {name: 1}});
},
updateDefaiultsID: function() {
return "testTemplate" + this._id;
}
});
}
Спасибо Джону, как никогда, я не понимаю, как это поможет. schemaName - это метка, определенная на уровне mongodb, а также уровень схемы. Мое мнение состоит в том, что он фактически не будет заполнять что-либо под столбцом имени схемы, если я должен сделать упомянутое изменение. Не могли бы вы пролить свет на этот аспект? – blueren
вы должны следовать некоторым стандартам структуры данных в формате json, возвращаемом .......... @blueren – Ankanna