barelyknown
barelyknown

Reputation: 5560

Where/when should I remove the relationship type to avoid an unknown keys warning?

I'm using Ember Data with a server application that follows the json:api standard. When I normalize the response from the server, I'm adding a relationshipType attribute from the links so that Ember Data knows what type of model to build when the relationship is polymorphic.

For example, here's the response from the server:

{
  "members": {
    "id": "1",
    "created_at": "2014-10-15T18:35:00.000Z",
    "updated_at": "2014-10-15T18:35:00.000Z",
    "links": {
      "user": {
        "id": "1",
        "type": "users",
        "href": "http://test.host/api/v1/users/1"
      },
      "organization": {
        "id": "2",
        "type": "customers",
        "href": "http://test.host/api/v1/customers/2"
      }
    }
  }
}

The organization relationship is polymorphic, and the type in this instance is customers.

In the Ember application, I'm normalizing the response into following (which follows the RESTSerializer convention):

{
  "members": {
    "id": "1",
    "created_at": "2014-10-15T18:35:00.000Z",
    "updated_at": "2014-10-15T18:35:00.000Z",
    "user": "1",
    "userType": "users",
    "organization": "2",
    "organizationType": "customers"
  }
}

This works, and Ember Data builds the correct user relationship and organization relationship (using the Customer model).

But, I'm receiving the following warning:

WARNING: The payload for '(subclass of DS.Model)' contains these unknown keys:
[userType,organizationType]. Make sure they've been defined in your model.

I'd like to remove these relationshipType keys and their values after they've been used.

Where should I do this?

Upvotes: 1

Views: 321

Answers (1)

aceofspades
aceofspades

Reputation: 7586

Have you tried using https://github.com/kurko/ember-json-api? I may have some other overrides in my app to handle polymorphism but hopefully the package will get you closer.

Also see my pending PR.

Upvotes: 0

Related Questions