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