【发布时间】:2014-01-25 01:55:12
【问题描述】:
我尝试使用 Ember 数据填充模板。 当我尝试在我的 DS Store 中查找模型时,我遇到了一个奇怪的问题。 我学习了一些教程,但遇到了一个恼人的错误。
错误是“加载路由时出错:未定义”。
我尝试过的:
MovieTracker.Store = DS.Store.extend({
url: 'http://addressbook-api.herokuapp.com'
});
MovieTracker.Contact = DS.Model.extend({
first: DS.attr('string'),
last: DS.attr('string'),
avatar: DS.attr('string')
});
MovieTracker.Router.map(function() {
this.resource('contacts');
});
MovieTracker.ContactsRoute = Ember.Route.extend({
model: function(){//works when changing to 'activate:'
//return; //this works! it shows me a simple template and updates URL to index.html#/contacts
return this.store.find('contact');//error: 'Error while loading route: undefined'
}
});
在 Index.html 中,我有一个指向“联系人”(应用程序把手)的简单#link-to,它运行良好。 我还有一个名为联系人的简单模板,当我放弃 this.store.find('contact') 行时,它可以正常工作。
JSBin: http://emberjs.jsbin.com/OxIDiVU/170/edit?html,js,output JSON 位于:http://addressbook-api.herokuapp.com/contacts
你能给我一些建议吗? 您是否更喜欢 Ember Data(1.0 Beta 5)。 另一个问题:没有预编译把手的网站不是一个好主意吗?
非常感谢您的阅读!
【问题讨论】:
-
服务器的响应是否正确?你能发布服务器的响应吗?让 Ember 数据工作有点问题,但一旦一切都解决了,它确实工作得很好。我在 Ember.js 和 Ember 数据上建立了一个相当大的网站。
-
嗨,Gogu,当然,这是我使用的特定网址:addressbook-api.herokuapp.com。 Ember Data 应该实际访问此站点 /contacts,并获取 JSON。我希望我能像你一样把一切都安排好,谢谢!
-
我继续玩弄,发现如果我将 ContactsRoute 中的 'model:' 属性更改为 'activate:' 它会走得更远。该错误未显示,但另一个错误告诉我“#each loops over must be an Array”。我不知道将“模型”更改为“激活”是什么意思,但希望它可以帮助您了解错误的根源。
-
试试这个:this.resource('contacts', {path:'/'}) 如果您将车把命名为索引。如果也失败了,你能设置一个 jsbin 吗?
-
嗨迪文德拉!不幸的是,它没有成功。我把代码上传到jsbin:emberjs.jsbin.com/OxIDiVU/170/edit?html,js,output
标签: ember.js ember-data