2012-08-10 14 views

Odpowiedz

22

Użyj DS.FixtureAdapter (lub DS.FixtureAdapter.create()), jeśli nie (jeszcze?) Zależy Ci na komunikacji z backendem, ale przechowują twoje dane jako "urządzenia" w kliencie. Po ogłoszony model:

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

można zdefiniować uchwyty:

App.Thing.FIXTURES = [ 
    { 
    id: 1, 
    name: '...', 
    // ... 
    }, 
    { 
    id: 2, 
    name: '...', 
    // ... 
    }, 
]; 

a następnie można użyć metody Ember-danych na nich (np App.Thing.findAll(), etc.) i manipulować nimi , ale oczywiście będzie to trwało tylko tak długo, jak strona będzie działać (np. środowisko javascript).

DS.RestAdapter, chociaż prawdopodobnie wciąż jest w trakcie opracowywania, został zaprojektowany tak, aby pasował do Rails API, ale mógłby prawdopodobnie zostać zmodyfikowany/rozszerzony do pracy z dowolnym interfejsem API RESTful, z którym pracujesz. Potrafi przetworzyć App.Thing.findAll(), wykonując połączenie z /things i przetwarzając numer App.Thing.find(12), wywołując numer /things/12. Jest to ścieżka względna, przyłączoną do parametru przestrzeni nazw można przejść w:

App.store = DS.Store.create({ 
    revision: 4, 
    adapter: DS.RestAdapter.create({ 
    namespace: 'http://what.ever/api/v1' 
    }) 
}); 

DS.Adapter jest raczej abstrakcyjny: nadklasą wspomnianych wbudowanymi adapterami. Jeśli nie odpowiada to Twoim potrzebom, możesz chcieć wdrożyć własne:

App.adapter = DS.Adapter.create({ 
    find: function(store, type, id) { 
    // ... 
    jQuery.get(... , function(data) { 
     store.load(type, id, data); 
    }); 
    }, 
    createRecord: function(store, type, model) { 
    // ... 
    jQuery.post(... , function(data) { 
     store.didCreateRecord(model, data); 
    }); 
    }, 
    // ... 
}); 
App.store = DS.Store.create({ 
    revision: 4, 
    adapter: App.adapter 
}); 

Nadzieję, że pomaga. Więcej informacji można znaleźć w dokumencie readme pod numerem https://github.com/emberjs/data.

+0

Fantastyczna odpowiedź, dzięki za udostępnienie. –

Powiązane problemy