У меня есть REST Json API, который возвращает список «журналов». Существует много типов журналов, которые реализуют разное, но похожее поведение. Реализация этого на стороне сервера на уровне базы данных является своего рода наследованием одной таблицы, поэтому каждое JSON-представление журнала содержит его «тип»:
[
{"type": "ULM", "name": "My uml logbook", ... , specific_uml_logbook_attr: ...},
{"type": "Plane", "name": "My plane logbook", ... , specific_plane_logbook_attr: ...}
]
Я хотел бы реплицировать эту модель сервера на стороне клиента, поэтому у меня есть базовый класс журнала
и несколько подклассов журнала:
class Logbook extends Backbone.Model
class UmlLogbook extends Logbook
class PlaneLogbook extends Logbook
...
My Backbone.Collection
- это набор моделей журнала
, которые я использую для запроса JSON API:
class LogbookCollection extends Backbone.Collection
model: Logbook
url: "/api/logbooks"
Когда я получаю коллекцию журналов, есть ли способ преобразовать каждый журнал
в соответствующий подкласс (на основе атрибута JSON «type»)?