假设我的rails模型看起来像这样:
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')
});
答案 0 :(得分:13)
非常接近,你可以扩展SalesRelationship。
App.CrossSell = App.SalesRelationship.extend({
productName: DS.attr('string')
})
答案 1 :(得分:8)
在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(),
});