2013-08-31 25 views
1

我有一個非常令人沮喪的問題,那就是我的一些ember-data夾具沒有加載他們的種子數據。一些沒有加載的Ember數據夾具

這一個加載其燈具罰款:

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() 
+0

不知道它是否有幫助,但您是否定義了夾具數據存儲? App.Store = DS.Store.extend({revision:13, adapter:'DS.FixtureAdapter' }); – kroofy

回答

3

這是由於最初沒有定義路由器(僅適用於我的示例Zoo模型)而不是實際觸及該路由(/#/ zoos)的混淆組合。

事實證明,Ember實際上不會將燈具加載到內存(僅限於型號),直到您在該型號上執行find

我現在可以點擊/#/動物園路線並查看在Ember Chrome擴展中加載的記錄。

0

你的燈具加載就好了,我創建了一個工作示例出代碼的您提供:http://jsbin.com/odosoy/148/edit

在你的應用程序中一定有其他事情不能正常工作,如果你有的話可能在你的ZoosRoute。嘗試發佈更多關於如何加載不工作的FIXTURES的細節。

希望它有幫助。