Ich entwickle eine Ember-js-Anwendung, wo ich jeden 'Artikel' mit dem nächsten und vorherigen Artikel verknüpfen möchte. Ich möchte nach der JSON API arbeiten.Get 'self', 'next' und 'previous' Links (ember v2)
Ich habe es geschafft, den (Blog-) Autor des Artikels in einer anständigen zu laden/zu zeigen und einen 'Teaser' des nächsten (verwandten) Artikels zu laden und zu zeigen. Das funktioniert gut.
Jetzt sollte das nächste Stück ziemlich einfach sein: Wie kann ich die 'Links' in meinem Artikel definiert? Wie kann ich sie zu meinem Modell hinzufügen oder in meiner Lenker-Vorlage anders darstellen?
Lassen Sie mich einen Auszug aus meinem JSON-repsonse (die Payload) geben:
{
"data": {
"type": "blogs",
"id": "5",
"links": {
"previous": "blogs/4",
"self": "blogs/5",
"next": "blogs/6"
},
"attributes": {…}, // title, subtitle, bodytext, etc.
"relationships": {
…
},
Die wichtigste Frage ist, wie diese ‚Selbst‘ Link aus der JSON-Antwort zu erhalten. Können diese Daten direkt aus dem "Modell" verwendet werden?
Mein Modell sieht wie folgt aus:
//models/blog.js
import DS from 'ember-data';
export default DS.Model.extend({
nid : DS.attr('string'),
title : DS.attr('string'),
subtitle : DS.attr('string'),
intro : DS.attr('string'),
…
author : DS.belongsTo('person'),
next : DS.attr('next'),
previous : DS.belongsTo('person')
});
UPDATE Wie @bungee weist darauf hin, gibt es ein ein Fehler (gegen die JSONAPI specs) in der Nutzlast. Das Array 'Links' sollte mit 'Daten' übereinstimmen, nicht mit einem Nachkommen. Aber in Ember 2.8 wird das Ember es immer noch nicht "essen" lassen. :)
Vielen Dank für Ihren Vorschlag. Ich habe die Datei mit dem Modell zur Frage hinzugefügt. Ich verwende den Standard-JSONAPIAdapter. Sie sagen, es sieht nicht wie die Standard-Glut-Rest-Datenstruktur aus. Welcher Teil nicht? – Ideogram
Der Link-Parameter sieht nicht wie das Standard-Ember-Rest-Format aus. Ich würde erwarten, dass Links, zum Beispiel eine Eins-zu-viele-Beziehung und einfach ein Array von IDs wie folgt sind: '' 'Links: ['id123987', 'id12308', ...]' ''. Oder wie ich vorgeschlagen habe, nur die Links als direkte Attribute zu den Eltern: {vorherigerLink: "blogs/4", selfLink: "blogs/5", nextLink: "blogs/6"}. Aber kann sein, dass du etwas weißt, was ich nicht weiß. – bungee
Sie haben Recht, dass ich auch falsch darin war, die "vorherigen", "selbst" und "nächsten" Links als direkte Parameter zu den Daten hinzuzufügen. Ihre Eltern, "Links" sollten ein Geschwister von Daten sein. Dann wird es immer noch nicht funktionieren, weil Ember nicht weiß, wie man es verdaut. – Ideogram