2017-02-06 4 views
0

Ich mache eine Flash-Card-App und die Business-Logik ist im Backend implementiert.Was ist der richtige Weg, um eine Datenprozessanfrage mit Ember-Daten zu machen?

Die vorherige Version I jquery verwenden, um Daten abzurufen und Anforderung zwischen Server und Client (siehe unten), machen

getNextCard() { 
    const {URL, headers} = this._getParams('/next_card'); 

    return Ember.$.ajax(URL, { 
     method: "GET", 
     headers 
    }); 
}, 

submitAnswer(card) { 
    const {URL, headers} = this._getParams('/process_card'); 

    return Ember.$.ajax(URL, { 
     method: "POST", 
     headers, 
     data: card 
    }); 
}, 

ich Ember Daten in der der aktuellen Version geändert haben; Ich bin jedoch so verwirrt und weiß nicht, wie man diese Art von Anfrage mit den Daten von Ember richtig macht.

Sollte ich weiterhin Ember.$.ajax verwenden, um Datenprozessanforderung (wie Code oben) und die Verwendung von Ember Daten nur für Daten/Modell CRUD Prupose?

aktualisieren

Nach dig durch die Dokumentation, denke ich getNextCard Methode durch Anpassen des Adapters erreichen werden können.

https://guides.emberjs.com/v2.11.0/models/customizing-adapters/

Antwort

1

Versuchen Sie, diese als CRUD-Operationen zu vertreten. Es ist ein bisschen anders.

So könnten Sie zum Beispiel die Antwort auf den Datensatz setzen, und dann nur .save() den Rekord. Oder haben Sie ein anderes answer Modell, und erstellen Sie ein answer und speichern Sie das. Hängt etwas von den spezifischen Anforderungen Ihrer Anwendung ab.

Um die nächste Karte abzurufen, verwenden Sie einfach store.query(). So dass Sie grundsätzlich so etwas wie store.query('card', { next: true }) machen können, und implementieren Sie dies in Ihrem Adapter entsprechend.

+0

Vielen Dank für die Hinweise. : D –

Verwandte Themen