2012-04-03 7 views

Antwort

4

Sie können transaction 's, definiert transaction.js mit entsprechenden Tests in transaction_test.js verwenden.

Sehen Sie ein Beispiel 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

Aufruf create statt!

Beispiel:

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

Ich habe diese http://jsfiddle.net/Qpkz5/269/ für Sie gemacht.

+0

Sie verwenden 'ember-latest.js' aus dem Download-Bereich des Datenrepositorys. Diese Datei wurde vor 2 Monaten (2011-01-30) hochgeladen und ist veraltet. Ich habe diese Methode im Code von Master nicht gefunden. – pangratz

+0

ich meine die 'ember-data-last.js' ... – pangratz

+0

@pangratz hat recht, ich hatte nicht bemerkt, dass das geändert wurde. Kudos ihn – Luan

0

Sie können _create: App.MyModel._create() verwenden - es wird das Modell mit seinem eigenen Zustandsmanager verknüpfen, so dass App.store.commit() nichts tun wird.

_create ist jedoch "privat". Ich denke, dass es für diesen Anwendungsfall eine öffentliche Methode geben muss.

+0

Hier ist die Github Frage: https://github.com/embers/data/issues/259 –