一些Ember数据夹具未加载

时间:2013-08-31 22:09:15

标签: ember.js ember-data

我遇到了这个非常令人沮丧的问题,我的一些余烬数据装置没有加载他们的种子数据。

这个装夹具很好:

App.Place = DS.Model.extend
  name: DS.attr('string'),
  products: DS.hasMany('App.Product'),
  logo_url: DS.attr('string')

App.Place.FIXTURES = [
  {id: 1, name: 'Whataburger', logo_url: "..."},
  {id: 2, name: 'Holiday Lanes', logo_url: "..."},
  {id: 3, name: 'IHOP', logo_url: "..."},
  {id: 4, name: 'Johnny\s Pizza House', logo_url: "..."},
  {id: 5, name: 'Chilli\'s', logo_url: "..."},
  {id: 6, name: 'Church\'s Chicken', logo_url: "..."},
  {id: 7, name: 'Starbucks', logo_url: "..."},
  {id: 8, name: 'Coldstone', logo_url: "..."},
  {id: 9, name: 'Strawns Eat Shop', logo_url: "..."}
]

这个没有加载它的灯具:

App.Zoo = DS.Model.extend
  name: DS.attr('string'),
  logo_url: DS.attr('string')

App.Zoo.FIXTURES = [
  {id: 1, name: 'Foo', logo_url: "..."}
]

这笔交易是什么?我在chrome扩展中看到了模型,所有字段都存在,而不是记录。我正在使用版本1.0.0-rc.7的ember-source gem。 Ember数据版本为0.13。

我的商店定义如下:

App.Store = DS.Store.extend
  adapter: DS.FixtureAdapter.create()

我的ZooRoute看起来像:

App.ZooRoute = Ember.Route.extend
  model: ->
    App.Zoo.find()

2 个答案:

答案 0 :(得分:2)

这是由于最初没有定义路由器的混乱组合(仅适用于我的示例Zoo模型)而实际上没有达到该路由(/#/ zoos)。

事实证明,在你对该模型执行find之前,Ember实际上并没有将灯具加载到内存中(只有模型)。

我现在可以点击/#/ zoos路线并查看Ember Chrome扩展程序中加载的记录。

答案 1 :(得分:0)

你的FIXTURES加载得很好,我已经用你提供的代码创建了一个工作示例:http://jsbin.com/odosoy/148/edit

您的应用中必定还有其他内容无效,如果您有ZoosRoute,可能在您的{{1}}内。尝试发布有关如何加载不起作用的FIXTURES的更多细节。

希望它有所帮助。