J'ai un routeur qui ressemble à ce que:Les meilleures pratiques avec des itinéraires profondes Ember avec Ember-données
App.Router.map ->
@resource 'categories', ->
@resource 'category', path: ':category_id', ->
@resource 'composites', ->
@resource 'composite', path: 'composite_id, ->
@resource 'questions', ->
#...
Tous les itinéraires multiples ont un crochet de modèle charger tous les modèles en fonction du parent (sauf la ressource racine chargement de toutes les catégories). Comme crochet de modèle composites fera quelque chose comme App.Composite.find category_id: @modelFor('category').get('id')
.
Donc, cela fonctionne, mais la chose que je ne peux pas faire fonctionner parfaitement parfaitement après avoir essayé de nombreuses façons est la redirection automatique. Je veux qu'une fois les catégories chargées, rediriger vers la catégorie route en utilisant l'itinéraire firstObject chargé par catégories, puis rediriger vers la route composite, puis rediriger vers l'itinéraire composite avec firstObjevt chargé en route composites, etc. jusqu'au niveau final.
je l'ai fait travailler en partie à l'aide redirect, firstObjectObserver, ... mais je rencontre souvent un problème avec redirection infinie, ou ne pas avoir les modèles chargés avant d'essayer de rediriger vers la route suivante avec le premier modèle, ...
Quelle est la meilleure pratique pour le faire? Dois-je réécrire mon routeur d'une autre manière (je veux pouvoir avoir une URL pour chaque niveau même si, à la fin, elle se redirigera automatiquement jusqu'au dernier niveau, alors les modèles peuvent changer)? Comment dois-je attendre le chargement des modèles d'itinéraires multiples avant de les rediriger?
Tout d'abord, merci pour votre réponse. – Huafu
Sorry hit enter au lieu de SHIFT + ENTER Pour la première partie de la réponse, le fait est qu'une barre de navigation des catégories est montrée et ensuite une autre barre de navigation des composites pour cette catégorie, puis une liste de questions de ce composite ou les détails se rapportent à une question, donc je suppose principalement pour tout ce que j'ai besoin d'imbriquer plus pour avoir tous les modèles accessibles comme ça: 'categories' => sélectionné' category' => 'composites' de cette catégorie => sélectionné' composite' => 'questions' dans ce composite, sélectionné' question' – Huafu
Pour la deuxième partie de la réponse, j'ai essayé votre approche mais la plupart du temps le 'this.modelFor ('categories')' n'a pas encore été chargé ou fini de charger, donc je ne pouvais pas obtenir le premier objet. Cela a fonctionné quand j'utilisais le crochet 'activate' du' XxxxIndexRotue' jusqu'à la dernière version de braise (RC6.1) où j'ai posté un bug pensait que c'était un et ils ont répondu que ce n'était pas la façon de le faire. Donc, voici la raison de ma question ici ;-) – Huafu