2016-03-24 17 views
1

Die Autoform zeichnet nur eine Annahme/Ablehnung auf, die für alle JobOffers gilt. Do not doc = dies bezieht sich auf den einzelnen jobOffer, wenn er sich in einer {{#each}} Anweisung befindet.Falsche Daten zurückgeben

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

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

Antwort

0

Alle Formen in der Schleife verwendet die gleichen id='offerForm' das ist, was verwendet wird, um das Ziel zu bestimmen.

Korrigieren Sie dies, indem Sie Ihrer Autoform eine dynamische ID hinzufügen.

Wenn jobOffers ein Cursor von Mongo ist, wird es zu einem einzigartigen _id Sie Präfix/postfix auf dem Formular id mit so etwas wie id='offerForm{{_id}}'

+0

danke, ich habe versucht, '{{#autoForm collection = "Jobangebote" id = "offerForm {{_ id}}" doc = Dieser Typ = "update"}} 'aber es funktioniert nicht. Es gibt auch keine Fehler in der Konsole. – bp123

+0

können Sie im DOM/HTML einchecken, dass die ID korrekt zugewiesen ist? – MrE

+0

Wenn ich es richtig lese, gibt es 'id =" offerForm {{id}} "' – bp123

0

Die Lösung wurde verwenden einen Helfer zu erstellen.

Pfad: helper.js

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

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