【问题标题】:How translate serialize type with dash to model slashed structure?如何将带有破折号的序列化类型转换为模型斜线结构?
【发布时间】:2017-03-28 13:31:44
【问题描述】:

我在带有 AMS (JSON:API) 的 Rails 中的 API 从序列化程序返回带有破折号 (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")').

如何解决这个问题?谢谢。

【问题讨论】:

    标签: ruby-on-rails ember.js ember-data active-model-serializers


    【解决方案1】:

    您可以通过覆盖序列化程序上的 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, '/');
      }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      • 2020-01-12
      • 2010-09-16
      • 2011-08-08
      • 2016-10-05
      相关资源
      最近更新 更多