gpt4 book ai didi

javascript - EmberJS 中的 RESTAdapter

转载 作者:行者123 更新时间:2023-12-03 12:41:46 25 4
gpt4 key购买 nike

我是 EmberJs 的新手,我不太了解 Ember 的适配器。我只是在我的 App.Js 中尝试使用 ember 适配器,但我收到了这个错误(断言失败:你试图设置 adapter 属性到 DS.Adapter 的一个实例,它应该是一个名称或一个工厂)。我在 App.js 中的 Ember 代码是:

//Store
App.Adapter = DS.RESTAdapter.extend();
App.Store = DS.Store.extend({
revision: 12,
adapter: App.Adapter.create()
});
//Models
App.Product = DS.Model.extend({
name: DS.attr('string'),
description: DS.attr('string'),
price: DS.attr('number')
});

// Products Route
App.ProductsRoute = Ember.Route.extend({
model: (function() {
return this.store.find('Product');
})
});
return App;

最佳答案

我认为您误解了设置和配置适配器的方式。

//
// Application-wide adapter, everything will use this unless you override it
//

App.ApplicationAdapter = DS.RESTAdapter.extend({
host: 'https://api.example.com'
});

//
// Product model, will use ApplicationAdapter
//

App.Product = DS.Model.extend({
name : DS.attr('string'),
description : DS.attr('string'),
price : DS.attr('number')
});

//
// Invoice model, will use fixtures, so specify a different adapter
//

App.InvoiceAdapter = DS.FixtureAdapter.extend({ /* options */ });

App.Invoice = DS.Model.extend({
name : DS.attr('string'),
amount : DS.attr('number')
});

//
// Routes, these should work as expected
//

App.ProductRoute = Ember.Route.extend({
model: function(params) {
return this.store.find('product', params.id);
}
});

App.ProductsRoute = Ember.Route.extend({
model: function() {
return this.store.find('product');
}
});

App.InvoicesRoute = Ember.Route.extend({
model: function() {
return this.store.find('invoice');
}
});

return App;

Ember 将根据名称知道要使用哪些模型/路线/等 - 参见 http://emberjs.com/guides/concepts/naming-conventions/了解详情。

关于javascript - EmberJS 中的 RESTAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19520198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com