Я пытаюсь установить полиморфную ассоциацию. К сожалению, документы 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 })
});