私の解決策はここにあります。(実際には、いくつかのチートを含むネストされたルートです)
1)モーダルは「モーダル」アウトレットに行きます
2) 異なる名前のモーダルのルートがありますが、パス部分は同じです。
this.resource('category', { path: '/category/:category_id' }, function () {
/* Different names for the same modal route */
this.resource('modal1', { path: 'card/:card_id' });
});
// url - semantic/books/card/id99
this.resource('semantic', { path: '/semantic/:semantic_id' }, function () {
/* Different names for the same modal route */
this.resource('modal2', { path: 'card/:card_id' });
});
3) transitionTo を実行するとき、親ルートのコンテキストを渡す必要があります
var curPath = this.controllerFor("application").currentPath;
if (/^category/g.test(curPath))
this.transitionToRoute('modal1', { category_id: cat_id, card_id: card_id ) });
else if (/^semantic/g.test(curPath))
this.transitionToRoute('modal2', { semantic_id: sem_id, card_id: card_id ) });