Ответ 1
Довольно близко, вы можете просто расширить SalesRelationship.
App.CrossSell = App.SalesRelationship.extend({
productName: DS.attr('string')
})
Скажем, мои модели рельсов выглядят так:
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')
});
Довольно близко, вы можете просто расширить SalesRelationship.
App.CrossSell = App.SalesRelationship.extend({
productName: DS.attr('string')
})
В 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(),
});