2013-10-06 69 views
0

我試圖用燈具使用與Ember數據灰燼應用工具包(我使用的是最新的兩個) - 但由於某些原因,我發現了以下內容:模型灰燼應用套件未找到

Assertion failed: No model was found for 'todo' [VM] ember.js (4005):415

Error while loading route: TypeError {} [VM] ember.js (4005):415

Uncaught TypeError: Cannot set property 'store' of undefined ember-data.js:2182

應用

import Resolver from 'resolver'; 
import registerComponents from 'appkit/utils/register_components'; 

var App = Ember.Application.extend({ 
    LOG_ACTIVE_GENERATION: true, 
    LOG_MODULE_RESOLVER: true, 
    LOG_TRANSITIONS: true, 
    LOG_TRANSITIONS_INTERNAL: true, 
    LOG_VIEW_LOOKUPS: true, 
    modulePrefix: 'appkit', // TODO: loaded via config 
    Resolver: Resolver 
}); 

App.initializer({ 
    name: 'Register Components', 
    initialize: function(container, application) { 
    registerComponents(container); 
    } 
}); 

App.ApplicationAdapter = DS.FixtureAdapter.extend(); 

export default App; 

指數路線

import Todo from 'appkit/models/Todo'; 

var IndexRoute = Ember.Route.extend({ 
    model: function() { 
    return this.store.findAll('todo'); 
    } 
}); 

export default IndexRoute; 

藤型號

var Todo = DS.Model.extend({ 
    'title': DS.attr('string'), 
    'user': DS.attr('object'), 
    'comment': DS.attr('string'), 
    'mood': DS.attr('string') 
}); 

Todo.FIXTURES = [{ 
    'title': 'Received Hardware!', 
    'user': { 'username': 'alvincrespo' }, 
    'comment': 'Finally received my hardware!', 
    'mood': 'happy' 
}, { 
    'title': 'This is honorable.', 
    'user': { 'username': 'robwolf' }, 
    'comment': 'I regret it already.', 
    'mood': 'happy' 
}, { 
    'title': 'I can\'t seem to speak', 
    'user': { 'username': 'catstark' }, 
    'comment': 'Wait a minute, why am I hear?', 
    'mood': 'sad' 
}, { 
    'title': 'Attendance is poor.', 
    'user': { 'username': 'cerlan' }, 
    'comment': 'Kings landing seems pretty empty after the war.', 
    'mood': 'neutral' 
}]; 

export default Todo; 

我宣佈app.js但由於某些原因,它仍然沒有工作DS.FixtureAdapter?有任何想法嗎?

謝謝!

+0

適配器你解決你的問題?我有同樣的 ! –

回答

0

我對寄存器組件的功能並不積極。但基本上它是說它不知道Todo模型(通常通過尋找其名稱空間中描述的模型,也就是App.Todo = DS.Model.extend ....)來找到它)

您可能還需要仍然宣佈商店。

App.Store = DS.Store.extend(); 

而在灰燼數據1.0 Beta 1的你不喜歡這樣

App.ApplicationAdapter = DS.MyRESTAdapter; // note you don't extend/create it 
+0

我確實嘗試在App名稱空間下 - 但由於某種原因,我仍然遇到同樣的問題:( – alvincrespo

+0

我認爲它顯示如何聲明默認應用程序適配器的示例使您看起來不需要聲明但我相信這仍然是必需的。 – Kingpin2k

+0

嗯。有趣的。我已經在這裏進行了相同的討論:http://discuss.emberjs.com/t/model-not-found-ember-app-kit/2888,但從github上的Transition.md看來,我們不應該再次聲明商店:/ – alvincrespo