私はちょうど今、ember-cli 内のルート構造を変更し、アプリを壊しました。現在の構造を 1 レベル深く入れ子にしたかったのです...
前:
Router.map(function() {
this.resource('placements', function() {
this.route('add');
this.route('import');
this.route('open');
});
this.route('admin');
});
後:
Router.map(function() {
this.resource('portal', function() {
this.resource('placements', function() {
this.route('add');
this.route('import');
this.route('open');
});
this.route('admin');
});
});
テンプレートの構造も変更する必要がありました...
前:
- templates/
- placements/
- add.hbs
- import.hbs
- index.hbs
- open.hbs
- admin.hbs
- application.hbs
- index.hbs
- placements.hbs
後:
- templates/
- portal/
- placements/
- add.hbs
- import.hbs
- index.hbs
- open.hbs
- admin.hbs
- index.hbs
- placements.hbs
- application.hbs
- index.hbs
- portal.hbs
すべての変更を 1 対 1 で行ったと思っていましたが、何らかの理由で ember サーバーを再起動すると、ネストされた「配置」ルートが壊れています。
コンソール ログで、 ember がまだ新しいディレクトリではなくplacements.index
古いディレクトリの下を探していることに気付きました。templates/placements/index
ルーターと同じ方法でテンプレートをネストできないという 1 つの理論がありますか? これは、正しいテンプレートを表示するために、各ルートをrenderTemplate
フックで明示的に定義する必要があるかもしれないことを意味します...このプロジェクトはかなり大きくなるため、これは面倒な場合があります...おそらく他に何かあるかもしれません間違っていますか?