Sto provando a fare qualcosa che sembra semplice ma non riesco a trovare la soluzione.Definire il modello di dati di brace per l'URL di riposo annidato
La mia applicazione deve modificare i documenti che contengono pagine.
Ecco il mio modello:
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()
});
E i percorsi:
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);
}
});
Quando carico il documento 1, la chiamata applicazione http://www.myserver.com/api/document/1
.
Il problema è che quando voglio trovare una pagina del documento, chiama
http://www.myserver.com/api/pages/ID
invece di
http://www.myserver.com/api/document/1/pages/ID
Tesi URL nidificato ar e importante nella mia applicazione.
ho trovato cose diverse sul tema come l'aggiunta di links
nella risposta JSON:
{
"document": {
"id": "1",
"title": "Titre du document",
"pages": ["1", "2", "3"],
"links": {"pages" : "pages"}
},
Ma quando lo chiamo per le pagine, richiede http://www.myserver.com/api/document/1/pages
senza l'id.
Cerco anche di specificare il documento quando chiedo per la pagina:
this.store.find("page", 1, {document:1});
Non riesci a trovare una documentazione completa su questo argomento, quindi se qualcuno mi può spiegare che cosa c'è che non va, sarò contento.
Grazie.
potete inviare i vostri percorsi? –
Inoltre, hai intrattenuto percorsi nidificati nella tua applicazione mantenendo l'API piatta - IE esponendo 'http: // www.myserver.com/api/documents/1' e' http://www.myserver.com/api/pages/1' anziché un'API nidificata. Hai il controllo dell'API? –
È importante ottenere questa struttura nidificata nell'API perché è necessario conoscere il documento per trovare la pagina. La richiesta API sul documento reale, non su un DB – thomaf