【发布时间】:2015-04-25 21:56:44
【问题描述】:
我正在尝试设置多态关联。不幸的是,Ember 文档并没有很好地涵盖这一点。
我的 API (Rails) 有以下定义:
class User < ActiveRecord::Base
belongs_to :profile, polymorphic: true#, dependent: :destroy
end
class MemberProfile < ActiveRecord::Base
has_one :user, as: :profile, dependent: :destroy
end
class GuestProfile < ActiveRecord::Base
has_one :user, as: :profile, dependent: :destroy
end
这意味着,在 Rails 控制台中,我可以执行 User.last.profile,这将返回 MemberProfile 或 GuestProfile 对象。
我应该如何在客户端(Ember)上定义它?
// app/models/user.js
import DS from 'ember-data';
export default DS.Model.extend({
profile: DS.belongsTo('profile', { polymorphic: true, async: true })
});
// app/models/member-profile.js
import DS from 'ember-data';
export default DS.Model.extend({
profile: DS.belongsTo('profile', { polymorphic: true, async: true })
});
// app/models/guest-profile.js
import DS from 'ember-data';
export default DS.Model.extend({
profile: DS.belongsTo('profile', { polymorphic: true, async: true })
});
【问题讨论】:
标签: ruby-on-rails ember.js ember-data ember-cli