我是 Ember 的新手,我正在尝试在 Rails API 上构建;但是,此时我不想打开 RESTAdapter。夹具适配器看起来不像预期的那样加载数据,我不知道为什么。
我没有做太多,但运行了引导命令,我被指示使用 ember-rails gem。当我转到根路径时,它告诉我没有加载任何客户端。查看 Chrome 中的 Ember 插件,一切看起来都很好,直到我点击数据选项卡,然后我收到以下错误:
未捕获的类型错误:无法调用未定义的 ember.js?body=1:41933 Ember.DataAdapter.Ember.Object.extend.getModelTypes ember.js?body=1:41933 Ember.DataAdapter.Ember.Object.extend 的方法“canCatalogEntriesByType”。 watchModelTypes ember.js?body=1:41726 Ember.Object.extend.messages.getModelTypes VM14057:464 sendEvent ember.js?body=1:2598 Ember.Evented.Ember.Mixin.create.trigger ember.js?body=1 :18317 (匿名函数) VM14057:1596 (匿名函数) VM14057:200 Ember.Object.extend._messageReceived VM14057:199 (匿名函数) VM14057:246 Backburner.run ember.js?body=1:6250 Ember.run ember. js?body=1:6665(匿名函数)
到目前为止,这是我的代码:
店铺
App.Store = DS.Store.extend({
// Override the default adapter with the `DS.ActiveModelAdapter` which
// is built to work nicely with the ActiveModel::Serializers gem.
adapter: "DS.FixtureAdapter"
});
路由器
App.Router.map(function() {
this.resource('clients', { path: "/" });
});
路线
App.ClientsRoute = Ember.Route.extend({
model: function(){
return this.store.all('client');
}
});
控制器
App.ClientsController = Ember.ArrayController.extend({
});
模型
App.Client = DS.Model.extend({
name: DS.attr('string'),
url: DS.attr('string')
});
App.Client.FIXTURES = [
{
name: "ACME Homes",
url: "www.acmehomes.com"
}
];
模板
<div class="row">
<div class="col-md-4">
<h1>Clients</h1>
{{#each client }}
{{name}}
{{else}}
<p>No clients, silly goose.</p>
{{/each}}
</div>
</div>
任何帮助将不胜感激!