Ich arbeite an einem Datenmodell, das über eine Reihe vordefinierter Attribute verfügt, die immer vorhanden sein werden, und andere benutzerdefinierte Eigenschaften, die vom Benutzer definiert wurden.Eigenschaften dynamisch zu Ember definieren Datenmodell
Ein Unternehmen hat viele Rollen. Jedes Unternehmen, das dieses System verwendet, möchte benutzerdefinierte Eigenschaften für alle seine Rollen definieren, zusätzlich zu den festen Eigenschaften, die alle Rollen in verschiedenen Unternehmen haben.
Die Idee wäre, dass dann Nutzlast Rollen in json-api kommt mit allen Attributen, Sitte oder nicht:
{
"id": "123",
"type": "roles",
"attributes": {
"name": "CEO",
"salary": 100000,
"favoriteColor": "blue"
}
}
In der obigen Rolle, name
und salary
sind Standardattribute, die in allen Rollen unabhängig Unternehmen, aber favoriteColor
ist ein benutzerdefiniertes Attribut, das dem jeweiligen Unternehmen, das diese Rolle besitzt, als etwas definiert ist, das für alle seine Rollen benötigt wird.
ich mich, wenn ich mit so etwas wie dies mit Ember Daten wegkommen konnte, da ich nicht in der Lage sein, diese Gewohnheit zu definieren Attribute im Vorbild Definition:
// app/models/role.js
export default DS.Model.extend({
name: DS.attr('string'),
salary: DS.attr('number'),
})
Um die Sache zu machen Schlimmer noch, die Idee ist, dass diese benutzerdefinierten Attribute nicht unbedingt Zeichenfolgenwerte sein müssen, aber sie können auch ihren Typ angeben. So ein Unternehmen möchte möglicherweise favoriteColor
des Typs string
, und auch birthDate
des Typs date
haben.