親のモデルにアクセスする必要があるルートを作成しようとしています。私はthis.modelFor()
を使用していますが、そのとき親モデルは完全にロードされていないので、すべてのプロパティにはnull
が含まれています。Ember.jsの親ルートモデルへのアクセス
これは、2つのダイナミックセグメントと、ルータである:
MGames.Router.map(function() {
this.resource('games', function() {
this.resource ('game', {path: '/:game_id'}, function() {
this.resource('board', {path: '/boards/:board_id'});
});
});
});
これは完璧に動作私のGameRoute、次のとおりです。
MGames.GameRoute = Ember.Route.extend ({
model: function (params) {
return MGames.Game.find(params.game_id);
}
});
そして最後に、これは子供のルートである、にアクセスする必要がありますゲームのモデル、これは私が書いたものです。しかし、私が何をするにしても、console.log()
は常にnull
を印刷します。私はgame
変数をチェックする場合は、isLoad
プロパティは常にnullです:
MGames.BoardRoute = Ember.Route.extend ({
model: function (params) {
var game = this.modelFor ('game');
console.log (game.get("id"));
return MGames.Board.find(game.get("id"), params.board_id);
}
});
アム私は何かが間違っている、または(私は疑うように)私はいくつかのエンバーの概念が欠けていますか?
これはまさに問題でした。面白いことに、私は昨日あなたの修正を試みたが、神はなぜ、ボードの「find」メソッドを変更し、ゲームを手つかずで間違ったままにしたのか知っている。賢い私。 私の以前の質問を見て、それを使って回答を完成させることができれば、もう一度+1します。どうもありがとうございます! –
そのコードは非常に身近に見え始めていました。 :) –