Was ist die eigentliche Frage hier? Das ist mir nicht ganz klar.
So Ihre aktuelle Action-Handler sieht wie folgt aus:
showComment : function(comment){
//do your stuff with the model
}
nun Ihre gewünschte Lösung könnte wie folgt aussehen:
<a {{action showCommentById comment_id href=true}}>Show</a>
und die entsprechenden Handler:
showCommentById : function(commentId){
var comment = App.Comment.findById(commentId); // i assume you have this retrieval method or something like it
this.showComment(comment);
},
showComment : function(comment){
//do your stuff with the model
}
Would Das funktioniert in Ihrem Fall? Oder hast du etwas anderes vor?
UPDATE: OP möchte haben alle Daten in der Route Handhabung der Route sollte die Aktion "showCommentById" behandeln, die ich vorschlagen, habe vor:
App.ArticlesRoute = Ember.Route.extend({
events : {
showCommentById : function(commentId){
var comment = App.Comment.findByIds(commentId); // i assume you have this retrieval
this.transitionTo("root.articles.comment", comment);
}
}
});
Also eigentlich Sie frei sind um zu entscheiden, wo Sie die Aktionen in Ihrer App ausführen sollen.
Das funktioniert, ABER! Wir wollen das Laden von Daten (Suchfunktionen auf Modellen aufrufen) in der Route unseres Routers behalten. Gerade im neuen Router api ist das Laden von Modellen innerhalb einer Route sehr gut gelöst, so dass ich mir nicht sicher bin, ob es das Beste ist, dies in unseren "Navigationsfunktionen" (wie showComment) zu tun, wie Sie vorgeschlagen haben. – kraftwer1
Aber Sie können diesen Anruf leicht an Ihre Route delegieren? Kannst du eine Geige spielen? Dann könnte ich Ihre aktuelle App-Struktur verstehen. – mavilein
Ich habe versucht, ein einfaches Beispiel auf die Geige http://jsfiddle.net/AhgBh/ zu setzen. Es wird nicht funktionieren, aber es zeigt ein bisschen mehr Präzision unserer Struktur. Willkommen für Eingaben! – kraftwer1