Skip to content

Relations ignore useClass on the server #304

@robertdp

Description

@robertdp

Relations only have their instance created on injection into the store, and server applications generally don't maintain an in-memory store. This has to be worked around with something like:

beforeCreateInstance: function(options, attrs) {
    options.relationList
        .filter(function(relation) {
            return relation.localField in attrs;
        })
        .forEach(function(relation) {
            var toInstantiate = attrs[relation.localField]
                definition = store.definitions[relation.relation];

            if (Array.isArray(toInstantiate)) {
                attrs[relation.localField] = toInstantiate.map(function(item) {
                    return definition.createInstance(item);
                });
            }
            else {
                attrs[relation.localField] = definition.createInstance(toInstantiate);
            }
    });
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions