0

私は、残り火と残り火のデータを使用して github イシュー トラッカーを構築しようとしています。github API はノード サーバー経由でアクセスされます (正常に動作します) が、ember の動的セグメントを使用しようとすると問題が発生し、ルートとモデルを構築する最善の方法がわかりません。

URL を にしたい場合、ルートとモデルをどのように構成すればよい/user/repo/issueですか?

動的セグメントとリソース/ルートのさまざまな組み合わせをすべて試しました...

this.resource('user', {path: ':user'}, function(){
  this.resource('repo', {path: ':repo'}, function(){
    this.resource('issue', {path: ':issue_id'});
  });
}); // 1

this.resource('repo', {path: ':userAndRepo'}, function(){
  this.resource('issue', {path: ':issue_id'});
}); // 2

this.resource('repo', {path: ':userAndRepo'});
this.resource('issue', {path: ':userAndRepo/:issue_id'}); //3

しかし、私はそれをスムーズに機能させることができないようです。私はそれを理解しようとしてひげを引き裂いています。

私が得た最も近いものは の結合セグメントを:userAndRepo持っていましたが、問題テンプレートにあったリ​​ンク先については、そのモデルを に明示的に設定する必要があったIssuesControllerため、リンク先{{#link-to 'issues' userAndRepo issue}} が子issueルートから親repoルートに戻ります。

アイデアや提案は大歓迎です。うまく説明できていない場合は、申し訳ありません。

4

1 に答える 1

0

番号 1 が正しい実装です。ネストされたリソースを使用した簡単な例を次に示します (私は怠け者で pojo を使用しただけですが、モデル フックがいつヒットしたかを確認できます)。

http://emberjs.jsbin.com/EWogUdE/36/edit

http://emberjs.jsbin.com/EWogUdE/36#/

 App.Router.map(function () {
   this.resource('people', function(){
     this.resource('person', {path:':name'}, function(){
       this.resource('dog', {path:':dogname'});
     });
   });
 });
于 2013-10-06T04:30:58.603 に答える