2016-03-24 17 views
1

Otomatik form yalnızca tüm JobOffers için geçerli olan kabul/reddetmeyi kaydeder. Doc = Bu, bir {{each}} ifadesinin içinde yer alan bağımsız bir işe başvurur.Hatalı veri döndürme

Yol: 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' }, 
       ]; 
      } 
     } 
    } 
}); 

Yolu: döngü içinde 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}} 

cevap

0

tüm formlar hedef belirlemek için kullanılır ne aynı id='offerForm' kullanır.

Bunu, Otomatik Formunuza dinamik bir kimlik ekleyerek düzeltin.

jobOffers Mongo bir imleç ise, eşsiz bir _id Eğer çözüm bir yardımcı yaratmaktı id='offerForm{{_id}}'

+0

teşekkürler, denedim '{{#autoForm toplama = "JobOffers" id = "offerForm {{_ id}}" doc = bu tip = "update"}} 'ancak işe yaramadı. Konsolda da hata yok. – bp123

+0

DOM/HTML’de kimliğin doğru bir şekilde atandığını kontrol edebilir misiniz? – MrE

+0

Eğer doğru okuyorsam, 'id = "offerForm {{_ id}}" ' – bp123

0

gibi bir şeyle formunuzda id üzerine önek/postfix için kullanabileceğiniz sahip olacaktır.

Yol: helper.js

Template.Offer.helpers({ 
    jobOffers: function() { 
     return JobOffers.find({candidateUserId: Meteor.userId()}); 
    }, 
    makeUniqueID: function() { 
     return this._id; 
    } 
}); 

Yol: 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}}