Подтвердить что ты не робот

Как подклассифицировать или наследовать модель из другой модели с использованием данных ember-data

Скажем, мои модели рельсов выглядят так:

class SalesRelationship < ActiveRecord

end

Наследуется crossSell следующим образом:

class crossSell < SalesRelationship 

end

Как показать это отношение наследования в ember-data. Для чего лучше всего:

App.salesRelationship = DS.Model.extend({
  name: DS.attr('string')
});

Могу ли я создать подкласс под названием crossSell, как этот

crossSell = App.salesRelationship({
    productName: DS.attr('string')
});

или как это

 App.salesRelationship.crossSell  = DS.Model.extend({
    productName: DS.attr('string')
  });
4b9b3361

Ответ 1

Довольно близко, вы можете просто расширить SalesRelationship.

App.CrossSell = App.SalesRelationship.extend({
  productName: DS.attr('string')
})

Ответ 2

В Ember 2.7 это можно сделать так. Предположим, что у вас есть класс Person и вы хотите наследовать его, чтобы сделать Employee для поля статуса (например, наем, ушедший на пенсию, уволенный в отпуск и т.д.).

приложение/модели/person.js

import DS from 'ember-data';

export default DS.Model.extend({
  firstName: DS.attr(),
  lastName: DS.attr(),
  fullName: Ember.computed('firstName', 'lastName', function() {
    return `${this.get('lastName')}, ${this.get('firstName')}`;
});

приложение/модели/employee.js

import DS from 'ember-data';

import Person from './person';

export default Person.extend({
  status: DS.attr(),
  statusCode: DS.attr(),
});