2012-04-03 19 views

risposta

4

È possibile utilizzare transaction, definito transaction.js con i test corrispondenti in transaction_test.js.

vedere un esempio here:

App.store = DS.Store.create(...); 

App.User = DS.Model.extend({ 
    name: DS.attr('string') 
}); 

var transaction = App.store.transaction(); 
transaction.createRecord(App.User, { 
    name: 'tobias' 
}); 

App.store.commit(); // does not invoke commit 
transaction.commit(); // commit on store is invoked​ 
1

chiamata CreateModel invece!

Esempio:

// This is a persisted object (will be saved upon commit) 
var persisted = App.store.createRecord(App.Person, { name: "Brohuda" }); 

// This one is not associated to a store so it will not 
var notPersisted = App.store.createModel(App.Person, { name: "Yehuda" }); 

ho fatto questo http://jsfiddle.net/Qpkz5/269/ per voi.

+0

Si sta utilizzando 'ember-latest.js' dalla sezione download del repository dati. Questo file è stato caricato 2 mesi fa (2011-01-30) ed è obsoleto. Non ho trovato questo metodo nel codice dal master. – pangratz

+0

Intendo il 'ember-data-latest.js' ... – pangratz

+0

@pangratz ha ragione, non avevo notato che questo era cambiato. Complimenti a lui – Luan

0

È possibile utilizzare _create: App.MyModel._create() - associerà il modello con il proprio gestore di stato, quindi App.store.commit() non farà nulla.

Tuttavia, _create è "privato". Penso che ci debba essere un metodo pubblico per questo caso d'uso.

+0

Ecco il problema di Github: https://github.com/emberjs/data/issues/259 –

Problemi correlati