6

現在、次のようなリンクを構築しています。

<a {{action showComment comment href=true}}>Show</a>

これにより、のようなリンクが生成されます/comments/45

残念ながら、これはコメントをプリロードした場合にのみ機能します-コメントのIDがすでにある場合でも。コメントをプリロードせずに可能ですか?

次のようになります。

<a {{action showComment comment_id href=true}}>Show</a>
4

1 に答える 1

2

ここで実際の質問は何ですか?これは私にはよくわかりません。

したがって、現在のアクションハンドラは次のようになります。

showComment : function(comment){
  //do your stuff with the model
}

これで、目的のソリューションは次のようになります。

<a {{action showCommentById comment_id href=true}}>Show</a>

そして対応するハンドラー:

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
}

これはあなたの場合に機能しますか?それとも何か他のことを意図していましたか?


更新:OPは、ルート内のすべてのデータ処理を希望します。ルートは、 以前に提案したアクション「showCommentById」を処理する必要があります。

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);
        }
    }
});

したがって、実際には、アプリのアクションを処理する場所を自由に決めることができます。

于 2013-02-23T16:59:17.490 に答える