Ember.js: transitionTo route, puis à segment dynamique
J'ai un Routeur configuré avec les comptes, et compte/:account_id options. Lorsque l'utilisateur des terres sur la page d'index de mon application que je leur transition vers les comptes de l'itinéraire.
Social.Router.map(function() {
this.resource('accounts', function(){
this.resource('account', { path: ':account_id'});
});
});
Social.IndexRoute = Ember.Route.extend({
redirect: function() {
this.transitionTo('accounts');
}
});
Ce que je voudrais faire est de faire la transition vers un spécifié :account_id itinéraire en fonction de certains critères. Pour le moment, je veux juste la première compte dans le tableau et l'utiliser. Mais à l'avenir, il pourrait être une façon de leur transition vers le dernier compte qu'ils ont été l'affichage. Quelque chose comme ceci:
Social.IndexRoute = Ember.Route.extend({
redirect: function() {
this.transitionTo('accounts/:account_id');
}
});
Les docs donner "détail", mais ne fournissent pas un exemple, seuls à offrir le suivant:
transitionTo (nom, modèles)
La Transition vers une autre voie. Éventuellement fournir un modèle pour la route
en question. Le modèle sera sérialisé dans l'URL à l'aide de la
sérialiser crochet.
J'ai essayé ce qui suit:
this.transitionTo('accounts/4');
Uncaught Error: assertion failed: The route accounts/4 was not found
this.transitionTo('accounts', Social.Account.find(1));
Uncaught More objects were passed than dynamic segments
OriginalL'auteur commadelimited | 2013-02-26
Vous devez vous connecter pour publier un commentaire.
Je mets ensemble les réponses des autres et certains tripoter et est sorti avec cette réponse:
définir vos routes, comme:
de redirection:
Mais si vous êtes le chargement du serveur, vous avez besoin de la
accountObj
objet chargé avant de rediriger:J'ai configuré ce violon avec un exemple complet
OriginalL'auteur Shimon Rachlenko
Il ressemble transitionTo est dépréciée en faveur de transitionToRoute.
Néanmoins, vous pouvez atteindre le rediriger en ayant l'original de la déclaration de
this.resource('account', { path: '/:account_id'});
et la transition avec l'unique objet créé doit travailler.OriginalL'auteur mduvall
Vous ne spécifiez pas la route correctement et vous devriez avoir un itinéraire en vertu de la ressource, et non une autre ressource. Il devrait ressembler à ceci:
Uncaught Error: assertion failed: The route account was not found
. Quand je me pose sur/
l'URL change à/#/accounts/1
qui est ce que je m'attends, mais rien de charges et la console d'erreur s'affiche.J'ai oublié d'ajouter un chemin d'accès à la racine des comptes de ressources.
OriginalL'auteur buuda
Avec la dernière Braise (1.0.0-RC-6), cela fonctionne parfaitement.
Routeur:
Pour rediriger:
OriginalL'auteur user10
Que votre /:account_id est une ressource dont vous avez besoin pour transitionToRoute "compte". Vous avez également besoin d'un AccountRoute en conséquence.
Si /:account_id était un chemin et non pas une ressource vous transitionToRoute comptes.compte " et votre gestionnaire d'itinéraire serait appelé AccountsAccountRoute.
OriginalL'auteur Kyle