残りの場合、命名規則に厳密に従う場合、ベストプラクティスはビューごとにモデルごとにコントローラーを持つことであるという仮定は正しいですが、要件が異なるほとんどの場合、規則から逸脱してニーズを満たすこともできます概念的には次のようなことができます。
JavaScript
var App = Ember.Application.create();
App.IndexRoute = Ember.Route.extend({
model: function(){
return Ember.Object.create({post: App.Post.find(1), page: App.Page.find(1)});
}
});
App.Store = DS.Store.extend({
revision: 12,
adapter: 'DS.FixtureAdapter'
});
App.Post = DS.Model.extend({
title: DS.attr('string'),
description: DS.attr('string')
});
App.Page = DS.Model.extend({
title: DS.attr('string'),
text: DS.attr('string')
});
App.Post.FIXTURES = [
{
id: 1,
title: "My super post",
description: "Lorem ipsum dolor sit amet..."
}
];
App.Page.FIXTURES = [
{
id: 1,
title: "My super page",
text: "Lorem ipsum dolor sit amet..."
}
];
テンプレート
<script type="text/x-handlebars">
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="index">
<h2>{{model.post.title}}</h2>
<p>{{model.post.description}}</p>
<hr/>
<h2>{{model.page.title}}</h2>
<p>{{model.post.description}}</p>
</script>
そして、ここに概念を示す動作中のjsbinがあります。
それが役に立てば幸い