2015-02-03 6 views
5

Esiste un modo per specificare l'helper delle opzioni nello schema? Ho provato:Autoform: posso specificare l'helper delle opzioni nello schema?

Schema

{ 
    favoriteColor: { 
    type: String, 
    autoform: { 
     options: "colorOptions" 
    } 
    } 
} 

Ma non sembra funzionare.

la seguente tecnica funziona bene per visualizzare una selezione con le opzioni in una forma:

Schema

{ 
    favoriteColor: { 
    type: String 
    } 
} 

Helper

Template.myFormTemplate.helpers({ 
    colorOptions: function() { 
    return Colors.find().map(function (c) { 
     return {label: c.name, value: c._id}; 
    }); 
    } 
}); 

Template

{{> afQuickField name="favoriteColor" options=colorOptions}} 

Nel mio schema attuale ho una matrice di oggetti, e in ogni oggetto ho bisogno di selezionare un oggetto da una collezione diversa. Quando si utilizza afArrayField non è più possibile impostare le opzioni nel modello come ho fatto nel modello sopra (perché è una matrice di oggetti, e un elemento nell'oggetto farebbe riferimento all'helper).

È la mia unica opzione per interrogare il database quando definisco lo schema? Suppongo che lo renderebbe non reattivo, giusto?

risposta

5
{ 
    favoriteColor: { 
    type: String, 
    autoform: { 
     options: function() { 
    return Colors.find().map(function (c) { 
     return {label: c.name, value: c._id}; 
    }); 
    } 
    } 
    } 
} 

L'inserimento della funzione di supporto direttamente nello schema funzionerà. Sto facendo qualcosa di simile ed è reattivo.

+0

Sto utilizzando questa funzionalità, ma le mie opzioni non vengono visualizzate. Registrazione della stessa funzione nella console dopo che il mio schema mostra i valori che mi aspetto dal database. Pensieri? –

+0

@RandyHall assicurati di sottoscrivere i dati che stai inserendo per le opzioni. – Wes