2016-03-24 3 views
1

Автоформ записывает только один прием/отклонение, который применяется ко всем jobOffers. Не соответствует doc = это относится к отдельному jobOffer, когда внутри оператора {{#each}}.Возврат неверных данных

Путь: 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

Все формы в цикле использует ту же id='offerForm', который является тем, что используется для определения назначения.

Исправить это, добавив динамический идентификатор к вашей автоматической форме.

Если jobOffers находится курсор из Монго, он будет иметь уникальный _id вы можете использовать для префикса/постфикса на форме id с чем-то вроде id='offerForm{{_id}}'

+0

спасибо, я попытался '{{#autoForm коллекция = "предложения о работе" ID = "offerForm {{_ ID}}" документ = this type = "update"}} ', но он не работает. В консоли также нет ошибок. – bp123

+0

можете ли вы проверить DOM/HTML, что идентификатор присвоен правильно? – MrE

+0

Если я правильно его читаю, он возвращает 'id =" offerForm {{id}} "' – bp123

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}} 
Смежные вопросы