efinieren Sie das Ember-Datenmodell für die verschachtelte Rest-UR

ch versuche, etwas zu tun, das sich einfach anhört, aber ich kann die Lösung nicht finde

Meine Anwendung muss Dokumente bearbeiten, die Seiten enthalten.

Hier ist mein Modell:

MyApplication.Document = DS.Model.extend({
    title: DS.attr('string'),
    pages: DS.hasMany('page', {async: true})
});
MyApplication.Page = DS.Model.extend({
    document: DS.belongsTo('document', {async: true}),
    title: DS.attr('string'),
    params: DS.attr(),
    objects: DS.attr()
});

Und die Routen:

MyApplication.Router.map(function () {
    this.resource('document', {path: '/document/:document_id'});
});
MyApplication.Document = Ember.Route.extend({
    model: function (params) {
        return this.store.find('document', params.document_id);
    }
});

Wenn ich das Dokument 1 lade, ruft die Anwendunghttp://www.myserver.com/api/document/1.

Das Problem ist, dass, wenn ich eine Seite des Dokuments finden möchte, es @ aufru

http://www.myserver.com/api/pages/ID

Anstatt vo

http://www.myserver.com/api/document/1/pages/ID

Diese verschachtelte URL ist in meiner Anwendung wichtig.

Ich fand verschiedene Dinge zu diesem Thema wie das Hinzufügen vonlinks in der JSON-Antwort:

{
    "document": {
        "id": "1",
        "title": "Titre du document",
        "pages": ["1", "2", "3"],
        "links": {"pages" : "pages"}
},

Aber wenn ich nach den Seiten rufe, fordert eshttp://www.myserver.com/api/document/1/pages ohne die id.

Ich versuche auch, das Dokument anzugeben, wenn ich nach der Seite frage:

this.store.find("page", 1, {document:1});

Ich kann keine vollständige Dokumentation zu diesem Thema finden. Wenn mir also jemand erklären kann, woran es liegt, freue ich mich.

Danken

Antworten auf die Frage(6)

Ihre Antwort auf die Frage