2014-12-03 14 views
7

Ho utilizzato Collection2 e Autoform nel mio progetto Meteor, reso le cose molto più semplici!Inserimento utilizzando Autoform con rimozione non protetta

Tuttavia, quando rimuovo l'insicuro, non inserisce più (pulsante di invio automatico). Mi aspettavo questo!

Tuttavia, ho cercato e non riesco a trovare il modo standard per farlo funzionare? Ho uno schema definito nella cartella lib e il mio Autoform come una forma veloce in un template. So che devo consentire l'inserimento lato client (che preferirei non fare) o trasferirlo sul lato server (magari con un metodo?)

Qualsiasi suggerimento sarebbe molto apprezzato! Sto cercando il modo standard di implementarlo.

+0

Sì, avevo allegato lo schema, ma non funzionava con insicurezza disattivata per qualche motivo. Menzionato qui dall'autore che devi definire le tue regole di autorizzazione/rifiuto se l'insicurezza non è attiva: https://github.com/aldeed/meteor-autoform/issues/380 – sgoudie

risposta

10

Trovato la mia risposta dopo molti scavi. Ha creato una permettono regole per inserire, aggiornare e rimuovere:

Posts = new Mongo.Collection('posts'); 

//SECURITY - Allow Callbacks for posting 

Posts.allow({ 
    insert: function(userId, doc) { 
    // only allow posting if you are logged in 
    return !! userId; 
    }, 
    update: function(userId, doc) { 
    // only allow updating if you are logged in 
    return !! userId; 
    }, 
    remove: function(userID, doc) { 
    //only allow deleting if you are owner 
    return doc.submittedById === Meteor.userId(); 
    } 
}); 

//Schema then defined as usual 

Solo una nota, submittedById è il campo nella mia collezione che mantiene l'ID utente. Se lo hai chiamato qualcosa di diverso, cambialo!

Spero che questo aiuti qualcuno con un problema simile.

+0

Grazie, questo mi ha aiutato! Inoltre, metto questo codice allow/deny nella cartella condivisa (client/server). – Aaron

Problemi correlati