2014-10-17 58 views
0

這是和this onethis one相同的問題,但看起來由ember-cli生成的代碼已經改變。這是我目前的系統:用ember-cli添加燈具0.1.2

» ember --version 
version: 0.1.2 
node: 0.10.25 
npm: 2.1.3 

這是我的書的模型文件的全部內容(models/book.js):

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    'title': DS.attr('string'), 
    'author': DS.attr('string'), 

}); 

的答覆的其他問題和this post告訴我用reopenClass,但模型文件的當前格式沒有任何重新打開。

我曾嘗試做:

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    'title': DS.attr('string'), 
    'author': DS.attr('string'), 
    FIXTURES : [ 
     { 
      id: 1, 
      title: "Protector", 
      author: "Larry Nieven" 
     }, 
     { 
      id: 2, 
      title: "The greatest book ever", 
      author: "Juan" 
     } 
    ] 
}); 

,但沒有運氣。我如何定義燈具?

+1

可能重複(http://stackoverflow.com/questions/25744233/ember-fixtures-not-working) – MilkyWayJoe 2014-10-17 15:48:43

回答

2

將您的模型類轉換爲以下應該做竅門。將模型存儲在一個變量中,重新打開該類並添加燈具,然後導出模型。的[灰燼夾具不工作]

import DS from 'ember-data'; 

var BookModel = DS.Model.extend({ 
    'title': DS.attr('string'), 
    'author': DS.attr('string') 
}); 

BookModel.reopenClass({ 
    FIXTURES : [ 
     { 
      id: 1, 
      title: "Protector", 
      author: "Larry Nieven" 
     }, 
     { 
      id: 2, 
      title: "The greatest book ever", 
      author: "Juan" 
     } 
    ] 
}); 

export default BookModel; 
+0

不工作。不管我是否稱其爲BookModel,或只是Book,或其他任何東西。還嘗試使用'BookModel.FIXTURES'語法,並嘗試使用'Ember.MODEL_FACTORY_INJECTIONS',但沒有任何效果。我已經定義了一個'app/adapters/application.js' fixture適配器(雖然沒有解釋,但我在ember-todo中找到了一個例子,這個例子可以工作 - 但只能使用舊版本的ember-cli(ember?),而不是當前的ember-cli(ember?)版本)。沒有關於如何使用ember-cli設置燈具的官方指南。我只想使用燈具來重現另一個(更復雜的)問題... – dangonfast 2014-10-20 10:42:29

+2

現在它工作。我錯過了路線的模型鉤子,以及相應的查找。很難碰到一個快速移動的目標,特別是考慮到我也會犯我平常的編程錯誤,而且我無法區分有什麼事情我不知道('reopenClass')和我知道的事情但我做錯了(缺少適配器和型號) – dangonfast 2014-10-20 11:05:14

+0

很高興你知道了。能夠在每個資源的基礎上改變適配器的類型是很好的,但並不是所有的鴨子都會咬你。 – ToddSmithSalter 2014-10-20 22:29:11