2012-04-03 12 views

Respuesta

4

Puede usar transaction, definido transaction.js con las pruebas correspondientes en transaction_test.js.

ver un ejemplo 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

CreateModel de llamada y no!

Ejemplo:

// 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" }); 

he hecho esta http://jsfiddle.net/Qpkz5/269/ para usted.

+0

Está utilizando 'ember-latest.js' de la sección de descargas del depósito de datos. Este archivo ha sido cargado hace 2 meses (2011-01-30) y está desactualizado. No he encontrado este método en el código de master. – pangratz

+0

Me refiero a 'ember-data-latest.js' ... – pangratz

+0

@pangratz tiene razón, no me había dado cuenta de que esto había cambiado. Lo felicita – Luan

0

Puede usar _create: App.MyModel._create() - asociará el modelo con su propio administrador de estado, por lo que App.store.commit() no hará nada.

Sin embargo, _create es "privado". Creo que es necesario que haya un método público para este caso de uso.

+0

Aquí está el problema de Github: https://github.com/emberjs/data/issues/259 –

Cuestiones relacionadas