他のいくつかの問題を解決するためにフィドルをセットアップしようとしているだけですが、単純なセットアップであるべきものを渡すことができません。
古いバージョンの ember では、find() を使用して Fixture データにアクセスできます: http://jsfiddle.net/jdcravens/Btum7/
App = Ember.Application.create();
App.Store = DS.Store.extend({
revision: 11,
adapter: "DS.FixtureAdapter"
});
App.Team = DS.Model.extend({
name: DS.attr('string'),
colors: DS.attr('string')
})
App.Team.FIXTURES = [{
id: 1,
name: 'Celtics',
colors: 'Green, White'
}, {
id: 2,
name: 'Lakers',
colors: 'Yellow, Black'
}, {
id: 3,
name: 'Bulls',
colors: 'Red, Black'
}, {
id: 4,
name: 'Mavericks',
colors: 'Blue, White'
}, {
id: 5,
name: 'Spurs',
colors: 'Black, Grey, White'
}];
App.Router = Ember.Router.extend();
App.Router.map(function (match) {
match("/").to("home");
});
App.HomeRoute = Ember.Route.extend({
setupController: function (controller) {
controller.set('content', App.Team.find());
}
});
テンプレートを使用します。
<script type="text/x-handlebars" data-template-name="home">
<ul class="teams">
{{#each team in content}}
<li>{{team.name}}</li>
{{/each}}
</ul>
</script>
しかし、最新のライブラリのすべてで、私は App.Team を undefined として取得します: http://jsfiddle.net/jdcravens/JTWjU/6/
App = Ember.Application.create({});
App.Store = DS.Store.extend({
revision: 12,
adapter: "DS.FixtureAdapter"
});
App.Team = DS.Model.extend({
name: DS.attr('string'),
colors: DS.attr('string')
});
App.Team.FIXTURES = [{
id: 1,
name: 'Celtics',
colors: 'Green, White'
}, {
id: 2,
name: 'Lakers',
colors: 'Yellow, Black'
}, {
id: 3,
name: 'Bulls',
colors: 'Red, Black'
}, {
id: 4,
name: 'Mavericks',
colors: 'Blue, White'
}, {
id: 5,
name: 'Spurs',
colors: 'Black, Grey, White'
}];
App.Router.map(function () {
this.resource("home", {path: "/"})
});
App.HomeRoute = Ember.Route.extend({
setupController: function (controller) {
console.log(App)
controller.set('content', App.Team.find());
}
});
私は途方に暮れています。