如何返回多态关系的类型?

时间:2017-05-25 23:39:55

标签: ruby-on-rails ember.js active-model-serializers

我有一个participant模型,它返回一个名为participable的多态关系,我需要返回关系类型而不是类型participable。我在Ember的前端使用。

class ParticipantSerializer < ApplicationSerializer # :nodoc:
  attributes :id

  belongs_to :dispute
  belongs_to :participable, polymorphic: true
end

1 个答案:

答案 0 :(得分:1)

在我的情况下,问题不在于多态关联,而在于应用逻辑。

我修复了通过participants创建另一个关联:

has_many :participants
has_many :users, through: :participants, source: :participable, source_type: 'User'
has_many :mediators, through: :participants, source: :participable, source_type: 'Mediator'

我希望这有帮助。