如何将带有破折号的序列化类型转换为斜线结构模型?
How translate serialize type with dash to model slashed structure?
My API in Rails with AMS (JSON:API) return from serializer the type name with dash (artemis-forum-disputes
),但在我使用 Ember 的前端应用程序中,我使用子目录结构 (artemis/forum/disputes
) 存储我的模型。
WARNING: Encountered a resource object with type "artemis-forum-disputes", but no model was found for model name "artemis-forum-dispute" (resolved model name using 'apollo-enterprise@serializer:application:.modelNameFromPayloadKey("artemis-forum-disputes")').
如何解决?谢谢
您可以通过重写序列化程序上的 modelNameFromPayloadType 方法来告诉 Ember Data 使用哪个模型。如果您在应用程序序列化程序中覆盖该方法并将破折号转换为斜线 Ember 应该能够在子目录中找到您的模型。
// app/serializers/application.js
// or app/application/serializer.js
import DS from 'ember-data'
export default DS.JSONAPISerializer.extend({
modelNameFromPayloadType(payloadType) {
return payloadType.replace(/-/g, '/');
}
});
My API in Rails with AMS (JSON:API) return from serializer the type name with dash (artemis-forum-disputes
),但在我使用 Ember 的前端应用程序中,我使用子目录结构 (artemis/forum/disputes
) 存储我的模型。
WARNING: Encountered a resource object with type "artemis-forum-disputes", but no model was found for model name "artemis-forum-dispute" (resolved model name using 'apollo-enterprise@serializer:application:.modelNameFromPayloadKey("artemis-forum-disputes")').
如何解决?谢谢
您可以通过重写序列化程序上的 modelNameFromPayloadType 方法来告诉 Ember Data 使用哪个模型。如果您在应用程序序列化程序中覆盖该方法并将破折号转换为斜线 Ember 应该能够在子目录中找到您的模型。
// app/serializers/application.js
// or app/application/serializer.js
import DS from 'ember-data'
export default DS.JSONAPISerializer.extend({
modelNameFromPayloadType(payloadType) {
return payloadType.replace(/-/g, '/');
}
});