我正在使用ember-cli并尝试了解应用程序的结构以及它是如何连接在一起的。主要的Ember指南文档和我在ember-cli生成的项目中看到的内容存在一些差异。我知道API正在快速发展,所以我只需指向正确的方向。
在router.js中我有以下内容:
Router.map(function() {
this.route('domains', {path: "/domains" });
});
然后我有models / domain.js
import DS from 'ember-data';
var Domain = DS.Model.extend({
name: DS.attr('string')
});
Domain.reopenClass({
FIXTURES: [
{ id: 1, name: 'User'},
{ id: 2, name: 'Address'}
]
});
export default Domain;
我有routes / domains.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.store.all('domain');
}
});
最后(我认为),我有templates / domains.hbs
<h1>Domains</h1>
{{#each}}
<p>{{name}}</p>
{{/each}}
访问http://localhost:4200/domains
网址时,仅呈现标题。我使用的是ember chrome扩展程序,但我没有看到请求中有任何数据。我不确定这是一个命名约定问题,也不确定我做错了什么,所以感谢任何帮助。
答案 0 :(得分:2)
all
只返回已在商店中找到的记录。 find
将发出请求(在这种情况下命中灯具)并填充商店,并返回商店中的所有记录。
this.store.find('domain');
答案 1 :(得分:1)
问题最终成了两倍。 Kingpin2K是正确的,我需要使用find
而不是all
。我还必须在adapters/application.js:
export default DS.FixtureAdapter.extend();