インデックスからゲームを参照すると、{{#linkTo}}
コンテキストが原因でデータが表示されますが、サイトを更新すると、毎回ゲーム名が表示されません。
編集:これはfiddleですが、残念ながら、ゲーム テンプレートからモデルを削除するという ken の提案があっても、フィクスチャ アダプターを使用した fiddle-version は適切に機能します。
/api/games から返されるデータは次のとおりです。
{
"games":[
{
"id":1,
"name":"First Game"
}
]
}
/api/games/1 から返されたデータ
{
"game": [
{
"id": 1,
"name": "First Game"
}
]
}
<script type="text/x-handlebars" data-template-name="application">
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="games">
<ul>{{#each game in controller}}
<li>{{#linkTo 'game' game}}{{game.name}}{{/linkTo}}</li>
{{/each}}</ul>
</script>
<script type="text/x-handlebars" data-template-name="game">
<h1>Name:{{model.name}}</h1>
</script>
<script type="text/javascript">
App = Ember.Application.create();
App.Game = DS.Model.extend({
name: DS.attr('string')
});
App.Store = DS.Store.extend({
revision: 11,
adapter: DS.RESTAdapter.create({
namespace: 'api'
})
});
App.GamesController = Ember.ArrayController.extend({
content: []
});
App.GameController = Ember.ObjectController.extend({
content: null
});
App.Router.map(function(match) {
this.route("games", { path : "/" });
this.route("game", { path : "/games/:game_id" });
});
App.GameRoute = Ember.Route.extend({
model: function(params) {
return App.Game.find(params.game_id);
}
});
App.GamesRoute = Ember.Route.extend({
setupController: function(controller) {
controller.set('content', App.Game.find());
}
});
</script>
誰かアイデアはありますか?