使用灯具时EmberCLI app错误

时间:2014-07-09 04:08:34

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

我通常将Rails用于我的Ember应用程序。但是这次我们选择将API与Ember应用程序分离,因此我正在尝试使用EmberCLI。到目前为止,设置和使用都很可爱。但是,当使用尝试使用灯具时,它不会加载数据。

this post中所列,我在宣布灯具时使用reopenClass

如果我没有覆盖模型,它不会出错,但是Ember检查器也显示没有加载数据。如果我用:

覆盖我的文件
// routes/campaigns/index.js
export default Ember.Route.extend({
  model: function() {
    return this.store.find('campaign');
  }
});

然后访问/campaigns路径,然后收到错误,我收到错误Error while loading route: undefined

what I can find来看,这似乎发生在Ember无法找到数据时。

我的路由器和模型中包含export default等明显项目:

// app/router.js
Router.map(function() {
  this.resource('campaigns', function() {
  });
});

// models/campaign.js
var Campaign = DS.Model.extend({
  name: DS.attr('string')
});

Campaign.reopenClass({
  FIXTURES: [
    { "id": 1, "name": "Campaign #1" },
    { "id": 2, "name": "Campaign #2" }
  ]
});

我在我刚制作的Rails应用程序中测试了相同的设置,并且它完美地运行。我喜欢人们可以提供的任何见解,因为EmberCLI看起来很轻巧,值得付出努力。

修改:添加我的app.js文件,回答有关我是否包含DS.FixtureAdapter的问题:

// Import statements

Ember.MODEL_FACTORY_INJECTIONS = true;

var App = Ember.Application.extend({
  modulePrefix: 'nala', // TODO: loaded via config
  Resolver: Resolver
});

loadInitializers(App, 'nala');

App.ApplicationAdapter = DS.FixtureAdapter({});

export default App;

1 个答案:

答案 0 :(得分:0)

您需要设置位于文件路径adapters/application.js的应用程序适配器,如下所示:

export default DS.FixtureAdapter.extend({});

ember-cli Naming Conventions下的第一段。注:如果您正在使用ember-cli并让它们listed in your .jshintrc file,则您不需要导入DS或Ember。