2016-06-25 5 views
0

Ich arbeite mit Ember 2.6 und derzeit Mirage für eine Client-gehostete statische Datenbank verwenden.Ember + Mirage und Beziehungen

Ich begann mit Fixtures du liefern die Beispieldaten, aber ich kann nicht die Beziehungen arbeiten.

Ich habe 2 Einheiten: Insel und Ort, mit einem

//mirage/models/spot.js 
import { Model, belongsTo } from 'ember-cli-mirage'; 
export default Model.extend({ 
    island: belongsTo() 
}); 

und

//mirage/models/island.js 
import { Model, hasMany } from 'ember-cli-mirage'; 
export default Model.extend({ 
    spots: hasMany() 
}); 

und meine Fixturedaten

//mirage/fixture/spots.js 
export default [ 
    {id: '1', name: 'test spot', island_id: [1]}, 
} 

und

//mirage/fixture/islands.js 
export default [ 
    {id: '1', name: 'Island 1 Name', permit: null, spot_ids: [1]}, 
} 
to One Beziehung Viele

mein config.js ist nur ein einfaches getAll

this.get('/islands', function(schema, request){ 
    return schema.islands.all(); 
    }); 

Aber wenn ich es nennen, habe ich meine Inseln, aber die Beziehungen fehlen.

Verwenden des Standard-Json-API-Adapters.

Wie kann Mirage JSON-Daten mit den angegebenen Beziehungen zurückgeben? Ich habe versucht, die Beziehung auf beiden Seiten und gleichzeitig 2 und beide stellt die untergeordnete Entität. Hier

ist ein Link von meinem Projekt auf Github: https://github.com/drallieiv/StreetpassTips/tree/feature/showRealDataForIslands/mirage

Antwort

0

Probieren Sie es ohne Unterstrichen zwischen den Beziehungseigenschaften im Fixture-Dateien.

Zum Beispiel:

//mirage/fixture/spots.js 
export default [ 
    {id: '1', name: 'test spot', islandId: 1}, 
} 

auch in den Modellen Sie hasMany und belongsTo ein Modell Wie hasMany('spot') und belongsTo('island')

+0

ich die JSON-API-Spezifikationen ausgesehen haben zu geben haben (http: // jsonapi. org/format/# document-resource-object-linkage) Sollte das GET zu Inseln keine eingeschlossenen Elemente zurückgeben? Mit dem, was ich habe ich erhalten diese analysiert json (Chrom Debugger) ! [Screenshot] (http://i.imgur.com/1yhAgqv.jpg) –

+0

Was der Anruf auf die Inseln zurückkehrt normal aussieht, aber ich erwartet entweder die Spots in das Ergebnis eingebettet werden, oder meine Glut App Aufruf GET/spots /: ID für jedes verknüpfte Ergebnis. –

+0

Bearbeitet, um Array-Klammern um den 'islandId'-Wert in der Antwort zu entfernen. Das wäre wichtig. –