Angenommen, Sie haben die folgenden Routen in einer Ember-Anwendung.Wie verlinkt man zu verschachtelten Ressourcen in Ember.js?
App.Router.map(function() {
this.resource('series', function() {
this.resource('serie', { path: '/:serie_id' }, function() {
this.resource('seasons', function() {
this.resource('season', { path: '/:season_id' }, function() {
this.resource('episodes', function() {
this.resource('episode', { path: '/:episode_id' });
})
});
});
});
});
});
Wie würde ich zu verknüpfen eine bestimmte Folge die linkTo
Helfer verwenden, die Lenker bietet? Mit anderen Worten, wie findet Ember heraus, was die anderen Parameter der URL sein sollten, das heißt, serie_id
und episode_id
? Die Dokumentation besagt, dass ich ein Modell an die episode
Route wie unten gezeigt übergeben sollte.
{{#linkTo "episode" episode}}
Dies ist mit der folgenden URL-Struktur zu verknüpfen.
/series/:serie_id/seasons/:season_id/episodes/:episode_id/
Als ich den linkTo
Helfer wie das verwenden, wirft Ember einen Fehler mir zu sagen, dass es nicht get
mit id
auf undefined
aufrufen können. Ich nehme an, dass es das Modell verwendet, um herauszufinden, was die serie_id
und episode_id
sind, und meine Vermutung ist, dass das Modell einer bestimmten Konvention (Struktur oder Bauplan) für Ember entsprechen muss, um diese id
s zu finden.
Das sind die Aspekte, die ich an Ember am schwierigsten finde. Es ist nicht sehr transparent, auch wenn Sie Ember im Debug-Modus verwenden. Alle Hinweise oder Referenzen werden sehr geschätzt.
UPDATE 1: Nach einigen Graben, fand ich, dass die Methode des serialize
Weges aus einem Schlüsselelement ist dies bei der Verwirklichung. Wenn ich jedoch den linkTo
-Helfer wie oben beschrieben verwende, ist das Modell undefined
aus 0 Gründen die Route (obwohl es nicht an die linkTo
Helfer übergeben wird. Die Frage, die zu dieser Entdeckung führte finden Sie here.
UPDATE 2: es stellt sich heraus, dass die serialize
Methode des serieSeason
Weg, eine Episode statt einer Saison das falsche Modell erhält, wenn der Link erzeugt wird es ist nicht klar, aber warum ist es die falsche erhalten. Modell. Woher kommt der model
Parameter der serialize
Methode?
UPDATE 3: Der linkTo
Helfer funktioniert einwandfrei, wenn ich statische Daten von der serialize
Methode jeder beteiligten Route zurückgeben, was bedeutet, dass der linkTo
Helfer an dem Problem nicht beteiligt ist.
http://emberjs.com/api/classes/Ember.Handlebars.helpers.html#toc_supplying-multiple-models Vielleicht war das nicht, dass es durch die Zeit, die Sie diese Frage gestellt ... –
nur einige Tage xp – ahnbizcad
@LucasPottersky Noch ist es jetzt! – StevenNunez