如何正确使用具有ember-cli项目结构的灯具

时间:2014-09-13 01:27:18

标签: ember.js ember-data ember-cli

我正在使用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扩展程序,但我没有看到请求中有任何数据。我不确定这是一个命名约定问题,也不确定我做错了什么,所以感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

all只返回已在商店中找到的记录。 find将发出请求(在这种情况下命中灯具)并填充商店,并返回商店中的所有记录。

this.store.find('domain');

答案 1 :(得分:1)

问题最终成了两倍。 Kingpin2K是正确的,我需要使用find而不是all。我还必须在adapters/application.js:

中将适配器更改为以下内容
export default DS.FixtureAdapter.extend();