【发布时间】:2015-07-20 22:43:06
【问题描述】:
您好,根据 ember ds 1.13 发布文档:
如果您的应用使用的是原生 JSONSerializer 或 RESTSerializer, 您无需进行任何更改,您的应用程序将继续 工作。现有的序列化程序已向后更新 将 JSON API 数据返回到商店的兼容方式。
目前我是默认的 RESTAdapter:
export default DS.RESTAdapter.extend({
host: 'http://localhost:9990',
namespace: 'api/v1'
});
哪个模型有一个自定义的 serailzer:
export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
comments: { embedded: 'always' }
}
});
当我尝试使用新的 queryRecord 方法时:
this.store.queryRecord('discussion',{ titleid: self.get('title_id')});
我在日志中得到以下异常:
Error while processing route: title.index Assertion Failed: You tried to make a query but your adapter does not implement `queryRecord` Error: Assertion Failed: You tried to make a query but your adapter does not implement `queryRecord`
at new Error (native)
at Error.EmberError (http://localhost:4200/assets/vendor.js:25705:21)
at Object._emberMetalCore.default.assert (http://localhost:4200/assets/vendor.js:15895:13)
at ember$data$lib$system$store$$Service.extend.queryRecord (http://localhost:4200/assets/vendor.js:80502:15)
at loadDiscussionModel (http://localhost:4200/assets/ui.js:2728:32)
at renderTemplate (http://localhost:4200/assets/ui.js:2715:12)
at _emberRuntimeSystemObject.default.extend.setup (http://localhost:4200/assets/vendor.js:37282:14)
at Object.callHook (http://localhost:4200/assets/vendor.js:65078:38)
at handlerEnteredOrUpdated (http://localhost:4200/assets/vendor.js:63868:12)
at setupContexts (http://localhost:4200/assets/vendor.js:63836:9)
序列化器/application.js
import DS from 'ember-data';
export default DS.RESTSerializer.extend({
serialize: function(record) {
return this._super(record, {includeId: true});
},
isNewSerializerAPI: true
});
【问题讨论】:
-
您是否在应用程序序列化程序中尝试
isNewSerializerAPI: true? -
部分工作发布了下面的答案。但是,原来的错误仍然存在。
标签: ember.js ember-data