autoform只记录一个接受/拒绝,它适用于所有jobOffers。不是doc = this在{{#each}}语句中引用单个jobOffer。
路径:Schema.js
Schemas.Offers = new SimpleSchema({
offer: {
type: String,
optional: true,
allowedValues: ['Accept', 'Reject'],
autoform: {
type: "select-radio",
options: function () {
return [
{label: "Accept", value: 'Accept' },
{label: "Reject", value: 'Reject' },
];
}
}
}
});
路径:template.html
{{#each jobOffers}}
{{#autoForm collection="Offers" id="offerForm" doc=this type="update" autosave=true}}
{{> afQuickField name="offer" type="select-radio" template="buttonGroup" label=false}}
{{/autoForm}}
{{/each}}
答案 0 :(得分:0)
循环中的所有表单都使用相同的id='offerForm'
,这是用于确定目标的内容。
通过向Autoform添加动态ID来解决此问题。
如果jobOffers
是来自Mongo的光标,则它会有一个唯一的_id
,您可以使用id
{ p>
答案 1 :(得分:0)
解决方案是创建一个帮手。
路径:helper.js
Template.Offer.helpers({
jobOffers: function () {
return JobOffers.find({candidateUserId: Meteor.userId()});
},
makeUniqueID: function () {
return this._id;
}
});
路径:template.html
{{#each jobOffers}}
{{#autoForm collection="JobOffers" id=makeUniqueID doc=this type="update"}}
{{> afQuickField name='offer'}}
<button type="submit" class="btn btn-primary submit">Update</button>
{{/autoForm}}
{{/each}}