2014-04-12 68 views
2

當您使用ember-cli生成項目時,默認情況下會打開MODEL_FACTORY_INJECTIONSMODEL_FACTORY_INJECTIONS和燈具

但由於某些原因,它打破了燈具裝:

適配器/應用

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

型號/注

var Note = DS.Model.extend({ 
    text: DS.attr('string'), 
}); 

Note.FIXTURES = [ 
    { 
    id: 1, 
    text: 'text1' 
    }, 
]; 

export default Note; 

路線/指數

export default Ember.Route.extend({ 
    model: function() { 
    return this.store.find('note'); 
    } 
}); 

隨着MODEL_FACTORY_INJECTIONS我得到

Error while loading route: Error: Assertion Failed: Unable to find fixtures for model type [email protected]:note:

而且沒有一切正常。

也許我錯過了什麼?或者這只是一個錯誤?

回答

9

我不知道MODEL_FACTORY_INJECTIONS是做什麼的,但我也發現如果啓用它,我的燈具不起作用。根據this question我發現了一個解決方案,您不必禁用它。您必須使用reopenClass來定義燈具才能正確拾取。

var Note = DS.Model.extend({ 
    text: DS.attr('string'), 
}); 

Note.reopenClass({ 
    FIXTURES: [ 
    { 
     id: 1, 
     text: 'text1' 
    } 
    ] 
}); 

export default Note; 
+0

我發現這篇文章解釋了什麼設置MODEL_FACTORY_INJECTIONS爲true用於。 [注入會話](http://stackoverflow.com/questions/19997399/injecting-session-into-a-model) – Caranicas