Ember.js 我们能用多态关系来处理余烬数据吗?

Ember.js 我们能用多态关系来处理余烬数据吗?,ember.js,active-model-serializers,Ember.js,Active Model Serializers,我们有多种类型的“小部件”,可以分组使用,在rails中,我们有一个多态关系来返回所有的小部件,而不考虑类型 例如,我们可以调用@group.widgets来返回所有不同类型的widget,而不管使用的是什么 class Group < ActiveRecord::Base has_many :group_widgets def widgets group_widgets.map { |m| m.widget } end end class GroupWidget

我们有多种类型的“小部件”,可以分组使用,在rails中,我们有一个多态关系来返回所有的小部件,而不考虑类型

例如,我们可以调用@group.widgets来返回所有不同类型的widget,而不管使用的是什么

class Group < ActiveRecord::Base
  has_many :group_widgets

  def widgets
    group_widgets.map { |m| m.widget }
  end
end

class GroupWidget < ActiveRecord::Base
  belongs_to :group
  belongs_to :widget, polymorphic: true, dependent: :destroy
end
类组
如果我向序列化程序添加polymorphic=>true。例如:

class GroupSerializer < ActiveModel::Serializer
  attributes :id,
             :parent_id,
             :title,
             :group_type

  has_many :widgets, :polymorphic => true
end
class GroupSerializertrue
结束
我似乎得到了一个递归循环,它以SystemStackError(堆栈级别太深)结束

我是错过了一个技巧,还是这只是一个还不能做到的事情

谢谢,
Dan

您是否尝试过在没有多态声明的情况下声明它

has_many :widgets
还要确保每个小部件类型都定义了一个序列化程序